在c#.net中获取,设置和赋值关键字

这里的value关键字是什么以及如何将值分配给_num ? 我很困惑,请给出以下代码的说明。

  private int _num; public int num { get { return _num; } set { _num=value; } } public void button1_click(object sender,EventArgs e) { num = numericupdown.Value; } 

在属性设置器的上下文中, value关键字表示分配给属性的值。 它实际上是set访问器的隐式参数,就好像它是这样声明的:

 private int _num public int num { get { return _num; } set(int value) { _num=value; } } 

属性访问器实际上是等效的方法:

 public int get_num() { return _num; } public void set_num(int value) { _num = value; } 

value关键字是一个上下文关键字 ,也就是说,它根据其上下文具有不同的含义。

set block中,它只是表示程序员将其设置为的值。 例如,

 className.num = 5; 

在这种情况下, valueset块内等于5。 所以你可以写:

 set { int temp = value; //temp = 5 if (temp == 5) //true { //do stuff } _num = value; } 

set块之外,您可以使用value作为变量标识符,如下所示:

 int value = 5; 

请注意,您不能set block中执行此操作。

附注:您应该将属性num大写为Num ; 这是一个常见的惯例,使阅读课程的人更容易识别公共和私人财产。

Propertiesprivate fieldclass variable READ,WRITE或COMPUTE值的方式。 当代码将值分配给private field或(类) variable时,将使用property内的setsettervalue关键字意味着“正在分配的东西”。

  public class StaffMember { private int ageValue; public int Age { set { if ( (value > 0) && (value < 120) ) { this.ageValue = value; } } get { return this.ageValue; } } } //Rob Miles - C# Programming Yellow Book