我无法理解初始化变量与像这样获取其值之间的区别:
//define a local variable.
int i;
i= 0;
Console.WriteLine(i);
然后得到;放;用法:
public int i
{
get;
set;
}
i = 0;
Console.WriteLine(i);
看了一些文章,不知道什么时候用。
最佳答案
基本上,在那种情况下,没有区别,使用属性的(许多)优点是能够将事件添加到您的属性中,如下所示:
public delegate void ChangedEventHandler(object sender, EventArgs e);
int m_i = 0;
public int i
{
get { return m_i; }
set { m_i = value; iChanged(self, null); }
}
public ChangedEventHandler iChanged;
这允许代码知道我什么时候被改变了(可能有一些语法错误,我有一段时间没有关注 C#,但想法是相似的)。这在 winforms 中非常重要,因为这是了解按钮(或类似按钮)何时被点击的主要方式。
此外,这允许在属性的 setter 中使用其他功能,例如检查它是否在某个范围内,像这样:
int m_i = 0;
public int i {
get { return m_i; }
set { if (value > 10) throw new Exception("I cannot be greater than 10!"); m_i = value; }
}
关于c# - 什么时候使用get;放;在 C# 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5366232/