C# 两种封装的区别

从表面上没啥区别,当你访问这个类时,
public int A
{
get { return a; }
set { a = value; }
}
只能通过类.A

public int a { get; set; }
通过类.a即可
public string a { get; set; }
和公有字段没多大区别了,没啥意义,建议用第一种方法。但是从面向对象的角度来讲,公开的是方法,而不是字段。而且微软也推荐:所有的字段都设置为私有字段,如果要使用它们,则把它们封装成属性。对于这样简单的set或get,编译器会自动进行inline处理,没有函数进出栈的性能损失。

原文地址:https://www.cnblogs.com/haobadea/p/7168695.html