C#语法糖制作属性的方法是否存在内部差异:
public string FirstName { get; set; }
Run Code Online (Sandbox Code Playgroud)
并只是像这样制作公共变量:
public string LastName;
Run Code Online (Sandbox Code Playgroud)
我认为第一种方式是首选,第二种方式是可以避免的.但是,我经常看到使用这种类型的readonly属性,它是上面第二种类型的形式:
public readonly string InternalCode;
Run Code Online (Sandbox Code Playgroud)
这是创建只读属性的最佳实践方法吗?
using System;
namespace TestProps
{
class Program
{
static void Main(string[] args)
{
Customer customer = new Customer();
customer.FirstName = "Jim";
customer.LastName = "Smith";
customer.Show();
}
}
class Customer
{
public string FirstName { get; set; } //prefered
public string LastName; //avoid
public readonly string InternalCode; //???
public Customer()
{
InternalCode = "234729834723984";
}
public void Show()
{
Console.WriteLine("{0}, {1} ({2})", LastName, FirstName, InternalCode);
Console.ReadLine();
}
}
}
Run Code Online (Sandbox Code Playgroud)