我的代码目前无限循环,我不知道为什么。我试图实现一个get,set访问器,检查接受的数字是否在0-100之间,如果不是,它将设置值等于零。我不能完全理解我所做错的任何帮助,我们将非常感激。
public double Quiz1
{
get { return Quiz1; }
set
{
if (value > 0 && value < 101)
{
Quiz1 = value;
}
else
{
Quiz1 = 0;
}
}
}
答案 0 :(得分:0)
当你在return Quiz1
之内说get
时,你会一遍又一遍地递归调用get
。
Auto-Implemented Properties(例如public double Quiz1 { get; set; }
)提供了一个隐藏字段,其中属性的值实际存储。
为属性实施traditional(非自动)get
和set
方法时,没有自动生成的支持字段。
因此,您通常还需要添加一个支持变量:
private double m_quiz1;
public double Quiz1
{
get { return m_quiz1; }
set
{
if (value > 0 && value < 101)
{
m_quiz1= value;
}
else
{
m_quiz1= 0;
}
}
}
另见: