我看到很多用于执行此操作的 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 的价值。但是在您只是传递值的情况下,这似乎是不必要的冗长。