Rumah  >  Artikel  >  pembangunan bahagian belakang  >  C#中复制构造函数是什么

C#中复制构造函数是什么

青灯夜游
青灯夜游asal
2019-01-31 15:57:534783semak imbas

通过从另一个对象复制变量或将一个对象的数据复制到另一个对象来创建对象的构造函数称为复制构造函数。下面我们来简单了解一下,希望对大家有所帮助。

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);
        }
    }
}

输出:

2.jpg

说明:

在上面的例子中,我们创建了一个复制构造函数(user1)的实例,并使用user对象的实例作为参数类型。因此,user对象的属性将发送到user1对象。当我们更改user1对象的属性值时,这些属性值不会影响User对象属性值。

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

Atas ialah kandungan terperinci C#中复制构造函数是什么. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn