zoukankan      html  css  js  c++  java
  • 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。

    测试结果如下

  • 相关阅读:
    PKU 3984 迷宫问题
    九度 1341 艾薇儿的演唱会
    九度 1335
    SDUT 1198 鞍点计算
    POJ 1363 Rails
    SDUT 1570 C旅行
    HDU 1042 N!
    SDUT 1568 俄罗斯方块
    HDU 1257 最少拦截系统
    POJ 3750 小孩报数问题
  • 原文地址:https://www.cnblogs.com/happy2015-everyone/p/11022575.html
Copyright © 2011-2022 走看看