我已经阅读了上面的这个主题,但它充满了令人困惑的答案。
我想知道,用简单的英语,这个代码是在字段或属性下面吗?. 如果是字段,什么是属性?如果是属性,什么是字段?
class Door
{
public int width { get; set; }
}
非常感谢。
我已经阅读了上面的这个主题,但它充满了令人困惑的答案。
我想知道,用简单的英语,这个代码是在字段或属性下面吗?. 如果是字段,什么是属性?如果是属性,什么是字段?
class Door
{
public int width { get; set; }
}
非常感谢。
那是一种财产。它是使用 getter、setter 和支持变量创建属性的简写。
class Door
{
public int width { get; set; }
}
支持变量是匿名的,但基本上编译器为此生成的代码与以下内容相同:
class Door {
private int _width;
public int width {
get {
return _width;
}
set {
_width = value;
}
}
}
字段只是类或结构中的公共变量,看起来像这样:
class Door {
public int width;
}
在这种情况下,编译器不会创建任何代码来处理该字段,它只是一个普通变量。
属性只是为字段定义 getter 和 setter 的语法。
class Door
{
public int width { get; set; }
}
类似于
class Door
{
private int width;
public int getWidth()
{
return width;
}
public void setWidth(int i)
{
width = i;
}
}