【发布时间】:2010-09-11 19:20:59
【问题描述】:
我看到很多用于执行此操作的 C# 类的示例代码:
public class Point {
public int x { get; set; }
public int y { get; set; }
}
或者,在旧代码中,同样具有显式私有支持值且没有新的自动实现属性:
public class Point {
private int _x;
private int _y;
public int x {
get { return _x; }
set { _x = value; }
}
public int y {
get { return _y; }
set { _y = value; }
}
}
我的问题是为什么。执行上述操作与仅将这些成员设为公共字段(如下所示)之间是否有任何功能差异?
public class Point {
public int x;
public int y;
}
明确地说,当您需要对基础数据进行一些转换时,我理解 getter 和 setter 的价值。但在您只是传递值的情况下,这似乎是不必要的冗长。
【问题讨论】:
标签: c# oop properties field