C#復制構造函數的實質淺析
作者:意向天
C#復制構造函數的實質是什么呢?C#中不提供復制構造函數,但是為什么我們可以編寫呢?那么本文就從小例子向你介紹C#復制構造函數的實質。
我們在討論C#復制構造函數之前想要明白什么是復制構造函數?
我們知道構造函數是用來初始化我們要創建實例的特殊的方法。通常我們要將一個實例賦值給另外一個變量c#只是將引用賦值給了新的變量實質上是對同一個變量的引用,那么我們怎樣才可以賦值的同時創建一個全新的變量而不只是對實例引用的賦值呢?我們可以使用復制構造函數。
我們可以為類創造一個只用一個類型為該類型的參數的構造函數,如:
- public Student(Student student)
- {
- this.name = student.name;
- }
C#復制構造函數的實質:使用上面的構造函數我們就可以復制一份新的實例值,而非賦值同一引用的實例了。
- class Student
- {
- private string name;
- public Student(string name)
- {
- this.name = name;
- }
- public Student(Student student)
- {
- this.name = student.name;
- }
- public string Name
- {
- get
- {
- return name;
- }
- set
- {
- name = value;
- }
- }
- }
- class Final
- {
- static void Main()
- {
- Student student = new Student ("A");
- Student NewStudent = new Student (student);
- student.Name = "B";
- System.Console.WriteLine(
- "The new student's name is {0}",
- NewStudent.Name);
- }
- }
C#復制構造函數的應用的一點體會就向你介紹到這里,希望對你理解和學習C#復制構造函數有所幫助。
【編輯推薦】
責任編輯:仲衡
來源:
百度空間