Tôi đã đọc rằng có những lý do tốt để sử dụng các thuộc tính thay vì các trường trong C# trên SO. Vì vậy, bây giờ tôi muốn chuyển đổi mã của tôi từ việc sử dụng các trường để sử dụng các thuộc tính.Có cách nào thanh lịch để đặt giá trị mặc định cho thuộc tính trong C#?
Đối với trường thể hiện của một lớp, tôi có thể đặt giá trị mặc định. Ví dụ:
int speed = 100;
Đối với tài sản tương đương, mà tôi nghĩ là:
int Speed { get; set; }
sự hiểu biết của tôi là tài sản Speed sẽ được khởi tạo bằng không khi lớp được khởi tạo. Tôi đã không thể tìm hiểu cách đặt giá trị mặc định để dễ dàng cập nhật mã của mình. Có cách nào thanh lịch để cung cấp giá trị mặc định cho một thuộc tính không?
Dường như có một cách thanh lịch để thực hiện việc này, mà không cần sử dụng hàm tạo, nhưng tôi không thể tìm hiểu cách thực hiện.
Có gì sai với việc sử dụng một constructor? Hoặc sử dụng thuộc tính có trường sao lưu được xác định thủ công thay vì trường tự động sửa lỗi? –
Nó sẽ làm cho công việc chuyển đổi của tôi dễ dàng hơn nếu tôi có thể thay đổi trường thành thuộc tính trong cùng một vị trí mà trường đã được khai báo trước đó. Sử dụng một hàm tạo, tôi sẽ cần phải cuộn qua mã của tôi để thực hiện thay đổi. Tôi không biết rằng bạn có thể sử dụng một trường sao lưu đã được khởi tạo. –
Mới trong C# 6: [Trình khởi tạo cho thuộc tính tự động] (https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6#auto-property-enhancements) –