您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)C#中怎么復(fù)制構(gòu)造函數(shù),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
我們在討論C#復(fù)制構(gòu)造函數(shù)之前想要明白什么是復(fù)制構(gòu)造函數(shù)?
我們知道構(gòu)造函數(shù)是用來初始化我們要創(chuàng)建實(shí)例的特殊的方法。通常我們要將一個(gè)實(shí)例賦值給另外一個(gè)變量c#只是將引用賦值給了新的變量實(shí)質(zhì)上是對同一個(gè)變量的引用,那么我們怎樣才可以賦值的同時(shí)創(chuàng)建一個(gè)全新的變量而不只是對實(shí)例引用的賦值呢?我們可以使用復(fù)制構(gòu)造函數(shù)。
我們可以為類創(chuàng)造一個(gè)只用一個(gè)類型為該類型的參數(shù)的構(gòu)造函數(shù),如:
public Student(Student student) { this.name = student.name; }
C#復(fù)制構(gòu)造函數(shù)的實(shí)質(zhì):使用上面的構(gòu)造函數(shù)我們就可以復(fù)制一份新的實(shí)例值,而非賦值同一引用的實(shí)例了。
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#中怎么復(fù)制構(gòu)造函數(shù)了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。