Tôi có một lớp có trường cần khởi tạo khi đối tượng được khởi tạo, chẳng hạn như danh sách cần được tạo trước khi các đối tượng có thể được thêm/xóa khỏi nó .Khởi tạo các trường lớp tại định nghĩa trường hoặc trong lớp constructor
public class MyClass1
{
private List<MyOtherClass> _otherClassList;
public MyClass1()
{
this._otherClasslist = new List<MyOtherClass>();
}
}
public class MyClass2
{
private List<MyOtherClass> = new List<MyOtherClass>();
public MyClass2()
{
}
}
Sự khác biệt giữa hai lớp này là gì và tại sao bạn chọn một phương thức so với lớp kia?
Tôi thường đặt trường trong hàm tạo, như trong MyClass1, vì tôi thấy dễ dàng hơn để có thể nhìn vào một nơi để xem mọi thứ xảy ra khi đối tượng được khởi tạo, nhưng có trường hợp nào nó là tốt hơn để khởi tạo một lĩnh vực trực tiếp như trong MyClass2?
Họ có giá trị đã được mặc định ... không cần phải init chúng LẠI. –