繁体   English   中英

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

[英]get,set and value keyword in 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内的setsetter value关键字意味着“正在分配的东西”。

    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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM