呀呀呀呀

导航

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。

测试结果如下

 

posted on 2019-06-14 11:50  呀呀呀呀  阅读(10628)  评论(0编辑  收藏  举报