在c#中 设置属性的时候对get 设置条件 和对set设置条件有什么区别?运行结果都是一样的啊
比如我对name限定在18-100,我在get里设置这个限定条件和在set里设置这个限定条件有什么样的区别呢?求高手解答~在线等...
比如我对name限定在18-100,我在get里设置这个限定条件和在set里设置这个限定条件有什么样的区别呢? 求高手解答~ 在线等
展开
5个回答
展开全部
如果你在set和get中设置限定条件。
当传入值时,首先经过set的处理按set限定条件将变量赋值。
然后读取变量时会根据set处理后的值得到的变量,再次根据get限定条件处理得到相应的值。
例如:
private int test;
public int Test
{
get
{
if (test > 10)
{
return 7;
}
else
{
return test;
}
}
set
{
if (value < 10)
{
test = 15;
}
else
{
test = value;
}
}
}
如上当你输入一个小于10的数字时,那么变量将会等于15。
而当你读取变量是那么该变量会根据当前的值15判断变量的是否是大于10,如果是大于10那么变量读取到的值将会是7。
实际上就是一个条件先后的问题。先判断set然后赋值给变量,然后读取是再判断get输出变量
当传入值时,首先经过set的处理按set限定条件将变量赋值。
然后读取变量时会根据set处理后的值得到的变量,再次根据get限定条件处理得到相应的值。
例如:
private int test;
public int Test
{
get
{
if (test > 10)
{
return 7;
}
else
{
return test;
}
}
set
{
if (value < 10)
{
test = 15;
}
else
{
test = value;
}
}
}
如上当你输入一个小于10的数字时,那么变量将会等于15。
而当你读取变量是那么该变量会根据当前的值15判断变量的是否是大于10,如果是大于10那么变量读取到的值将会是7。
实际上就是一个条件先后的问题。先判断set然后赋值给变量,然后读取是再判断get输出变量
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
set限定向name变量赋值的范围,而get是取name值的时候用。
做这种限制最好在set中设置。否则变量的实际值还是有可能超限。
做这种限制最好在set中设置。否则变量的实际值还是有可能超限。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
都应该设置这个限定条件,get,set的限制都是针对name字段的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你是要限定Name的值 你应该设置它的set属性在18-100 get怎么设置应该没影响吧 get只是只读
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询