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


本文摘自PHP中文网,作者青灯夜游,侵删。

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

复制构造函数是一个参数化构造函数,包含相同类类型的参数。它的主要用途是将新实例初始化为现有实例的值。通常,C#不提供对象的复制构造函数,但是如果要在程序中创建复制构造函数,可以根据需要进行创建。【教程推荐:C#视频教程】

基本语法

以下是使用c#编程语言定义复制构造函数的语法。

1

2

3

4

5

6

7

8

9

10

11

12

class Class_Name {

        // 参数化构造函数

        public Class_Name(string a, string b......)//参数列表

        {

            // code

        }

        // 复制构造函数

        public Class_Name(Class_Name instance_of_class)

        {

            // code

        }

}

示例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

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中文网相关教程栏目!!!

以上就是C#中复制构造函数是什么的详细内容!

相关阅读 >>

详细介绍data url生成工具C#版第二版的示例代码

C#获取ip及判断ip是否在区间的示例代码

C#将unicode编码转换为汉字字符串的代码分析

C#中泛型委托的示例代码分享(图)

C# winform程序上传图片到指定目录的示例代码

C#如何使用reflect获取dll文件中的类型并调用?

C#如何防止sql注入?

C#接口的实例详解

C#实现带百分比的进度条功能的示例代码分享

C#调用默认浏览器打开网页的几种方法具体介绍(图)

更多相关阅读请进入《C#》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...

    暂无评论...