>  기사  >  백엔드 개발  >  C#의 복사 생성자는 무엇입니까?

C#의 복사 생성자는 무엇입니까?

青灯夜游
青灯夜游원래의
2019-01-31 15:57:534783검색

다른 객체의 변수를 복사하거나 한 객체의 데이터를 다른 객체에 복사하여 객체를 생성하는 생성자를 복사 생성자라고 합니다. 모든 사람에게 도움이 되기를 바라면서 아래에서 간략하게 살펴보겠습니다.

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)의 인스턴스를 생성하고 사용자 개체의 인스턴스를 매개 변수 유형으로 사용했습니다. . 따라서 user 개체의 속성이 user1 개체로 전송됩니다. user1 개체의 속성 값을 변경하면 이러한 속성 값은 User 개체 속성 값에 영향을 미치지 않습니다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !

위 내용은 C#의 복사 생성자는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.