Есть ли какая-то внутренняя разница между синтаксическим способом создания свойств в C #:
public string FirstName { get; set; }
и просто сделать открытые переменные такими:
public string LastName;
Я предполагаю, что первый способ предпочтительнее, а второй - избегать. Тем не менее, я часто вижу, что используется этот тип свойства readonly, который является формой второго типа выше:
public readonly string InternalCode;
Это лучший способ создания свойства только для чтения?
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();
}
}
}