C#中的set和get


C#中有一種獨有的定義,其形式類似於方法,卻又沒有小括號。如下面第6行到第16行代碼

 1 namespace CSharp
 2 {
 3     class Program
 4     {
 5         private String name;
 6         public String Name
 7         {
 8             get
 9             {
10                 return name;
11             }
12             set
13             {
14                 name = value;
15             }
16         }
17     }
18 }

 

 

第6行到16行都是get和set相關代碼,需要注意第5行的name和第6行中的Name名字雖然不一樣,但卻不影響結果,因為調用時使用的是Name,如下面第8、10行代碼。此處千萬不要覺得是對name進行操作就將第6行的Name命名為name,如此一來由於存在重復的變量程序便會立即報錯。get返回name的值,set中有一個關鍵字value,這里的value可以理解為具體調用時的值,如下面代碼第8行的“cyb”就是一個value,這樣就在調用時把具體的值賦給了name。

get和set不會出現在其他類的調用語句中,是在調用時默認發揮作用。

 1 namespace CSharp
 2 {
 3     class Main_c
 4     {
 5         static void Main(string[] args)
 6         {
 7             Program p = new Program();
 8             p.Name = "cyb"; //使用了set
 9             Console.WriteLine(p.Name);
10             if (p.Name == "cyb")//使用了get
11             {
12                 Console.WriteLine(p.Name);
13             }
14             else
15             {
16                 Console.WriteLine("用戶名不匹配");
17             }
18             Console.ReadKey();
19         }
20     }
21 }

 

 

程序第4行和第6行分別使用了set和get。

測試結果如下

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM