ホームページ  >  記事  >  バックエンド開発  >  C# のコピー コンストラクターとは何ですか

C# のコピー コンストラクターとは何ですか

青灯夜游
青灯夜游オリジナル
2019-01-31 15:57:534778ブラウズ

別のオブジェクトから変数をコピーしたり、あるオブジェクトから別のオブジェクトにデータをコピーしたりしてオブジェクトを作成するコンストラクターは、コピー コンストラクターと呼ばれます。皆さんの役に立つことを願って、以下で簡単に見てみましょう。

C# のコピー コンストラクターとは何ですか

#コピー コンストラクターは、同じクラス型のパラメーターを含むパラメーター化されたコンストラクターです。その主な用途は、新しいインスタンスを既存のインスタンスの値に初期化することです。通常、C# はオブジェクトのコピー コンストラクターを提供しませんが、プログラム内でコピー コンストラクターを作成したい場合は、必要に応じて作成できます。 [チュートリアルの推奨事項: C# ビデオ チュートリアル ]

基本構文

以下は、C# を使用して定義されたコピー コンストラクターです。プログラミング言語 関数の構文。

class Class_Name {
        // 参数化构造函数
        public Class_Name(string a, string b......)//参数列表
        {
            // code
        }
        // 复制构造函数
        public Class_Name(Class_Name instance_of_class)
        {
            // code
        }
}

例:

using System;
namespace Tutlane{
    class User {
        public string name, location;
        // 参数化构造函数
        public User(string a, string b){
            name = a;
            location = b;
        }
        // 复制构造函数
        public User(User user) {
            name = user.name;
            location = user.location;
        }
    }
    class Program{
        static void Main(string[] args){
            // 带有参数化构造函数的User对象
            User user = new User("小明", "北京");
            // 另一个User对象(user1)通过复制user的详细信息,
            User user1 = new User(user);
            user1.name = "小华";
            user1.location = "上海";
            Console.WriteLine(user.name + ", " + user.location);
            Console.WriteLine(user1.name + ", " + user1.location);
        }
    }
}

出力:

C# のコピー コンストラクターとは何ですか

説明:

上記の例では、コピー コンストラクター (user1) のインスタンスを作成し、パラメーター タイプとしてユーザー オブジェクトのインスタンスを使用します。したがって、ユーザー オブジェクトのプロパティは user1 オブジェクトに送信されます。 user1 オブジェクトのプロパティ値を変更しても、これらのプロパティ値は User オブジェクトのプロパティ値には影響しません。

以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !

以上がC# のコピー コンストラクターとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。