问答详情
源自:2-4 C# 通过set块约束属性赋值

添加了set过滤条件后即便赋予属性正确的值依旧输出为默认值

http://img.mukewang.com/5908563b00015e9605160160.jpg

这里那里有出错了吗, 赋予的值为5  输出的值是0

提问者:西江月i 2017-05-02 17:50

个回答

  • 慕婉清539966
    2018-09-27 17:14:16

    我的理解是value就相当于变量,在传递中起传导作用,所以对value进行判断,而age是属性名不进行任何操作。

  • 一念征途
    2017-06-27 13:19:19

            private int age;
            public int Age
            {
                get { return age; }
                set {
                    if (value>=3&&value <= 7)
                    age = value; }
            }

    方法中 value 是形参,也就是自己传入的值,所以是对value进行判断, age是类的变量属性,在set方法中,用来接收赋值就可以了。

    如果问题已解决,请采纳下答案。 祝你学习顺利 。


  • qq_从此_1
    2017-05-02 20:31:10

    public int  Age

            {

                get { return _age; }

                set 

                { 

                    if(value>=3&&value<=7)

                    _age = value

                }

            }