Đôi khi một danh sách initializer được quy định sau tên lớp mà không sử dụng() điều hành:C# Trình khởi tạo danh sách - khi nào sử dụng toán tử() sau tên lớp?
Cat cat = new Cat { Age = 10, Name = "Fluffy" }
lần khác nó được xác định sau khi) điều hành (:
List<Cat> cats = new List<Cat>
{
new Cat(){ Name = "Sylvester", Age=8 }
}
Tôi giả định sự khác biệt là vì ở đây Cat mới() nằm trong danh sách. Nhưng tôi vẫn không hiểu tại sao nó lại khác. Vậy tại sao sự khác biệt, và khi nào nên sử dụng cú pháp nào?
Cảm ơn.
bản sao có thể có của [Tại sao dấu ngoặc đơn khởi tạo đối tượng khởi tạo đối tượng C# 3.0 tùy chọn?] (Http://stackoverflow.com/questions/3661025/why-are-c-sharp-3-0-object-initializer-constructor-parentheses -optional) – CharlesB