属性:它们提供灵活的机制来读取、编写或计算私有字段的值。可以像使用公共数据成员一样使用属性,但实际上它们是称为“访问器”的特殊方法。这使得数据在可被轻松访问的同时,仍能提供方法的安全性和灵活性。例如:
public double Hours
{
get { return seconds / 3600; }
set { seconds = value * 3600; }
}
字段:字段存储类要满足其设计所需要的数据,字段可标记为 public、private、protected、internal 或 protected internal。例如:
public class CalendarDate
{
private int month;
private int day;
private int year;
}
性能比较:属性的实质是方法(get和set方法),IL中没有属性的概念。因此,使用属性必然会带来性能的降低。