如果您想使單個屬性不可變,那么僅初始化(init-only)屬性是極好的。如果您想要整個對象是不可變的,行為像一個值,那么你應該考慮聲明它為一個記錄(record):
public record Person { public string FirstName { get; init; } public string LastName { get; init; } }
如果想要復制只讀對象,然后改變某個值,則要用with
Person person = new() { FirstName = "11", LastName = "22" }; var othP = person with { FirstName = "22" };