Tôi có thể thực sự tin tưởng và thực sự .NET để khởi tạo các trường (như ints, structs và tương tự) không? Và nếu tôi vẫn muốn khởi tạo những lĩnh vực đó - điều gì có thể là hậu quả?Khởi tạo trường theo giá trị mặc định là dư thừa
Trả lời
Các C# specification bang trên p.305 (17.4.4)
Giá trị ban đầu của một trường, cho dù đó là một lĩnh vực tĩnh hoặc một lĩnh vực chẳng hạn, là giá trị mặc định (§12.2) của loại trường. Không thể quan sát giá trị của một trường trước khi khởi tạo mặc định này đã xảy ra, và do đó một trường không bao giờ là “chưa được khởi tạo”.
Kính trọng, tamberg
Có, bạn thực sự có thể tin tưởng .NET để khởi tạo trường thành giá trị mặc định của chúng. Về cơ bản không có hậu quả đối với việc thực hiện nó một cách rõ ràng. (Một báo trước nhỏ ở đây: nếu bạn khởi tạo các trường tĩnh một cách rõ ràng, thì bất kỳ ai chạy trình khởi tạo kiểu lần thứ hai thông qua sự phản chiếu sẽ kết thúc lại việc khởi tạo lại các trường đó. Đây là trường hợp góc thực!)
Làm bất cứ điều gì thúc đẩy dễ đọc nhất trong codebase cụ thể của bạn.
- 1. Giá trị mặc định trong danh sách khởi tạo C++
- 2. C# Khởi tạo mảng - với giá trị không mặc định
- 3. Xóa cuộc gọi hàm khởi tạo ủy nhiệm dư thừa?
- 4. Biến delphi có được khởi tạo với giá trị theo mặc định không?
- 5. Sự khác biệt giữa mặc định khởi tạo và giá trị khởi tạo trong C++ 03?
- 6. cách khởi tạo đối số hàm là các lớp có giá trị mặc định
- 7. Mặc định được khởi tạo so với Giá trị được khởi tạo
- 8. Giá trị mặc định GOMAXPROCS là gì
- 9. C++: Khởi tạo trường kế thừa
- 10. Không phải là "const" dư thừa khi đi qua giá trị?
- 11. Giá trị mặc định cho trường trong Django mô hình
- 12. Khởi tạo giá trị Scala
- 13. DependencyProperty Giá trị mặc định
- 14. giá trị chung Mặc định
- 15. std :: map <string,int> khởi tạo mặc định giá trị
- 16. Đối tượng Javascript theo nghĩa đen: khởi tạo giá trị?
- 17. Thêm mục nhập vào task_struct và khởi tạo thành giá trị mặc định
- 18. Giá trị boolean mặc định trong C# là gì?
- 19. Các hàm tạo và thừa kế mặc định trong Java
- 20. Giá trị mặc định cho một trường nếu không có giá trị mặc định nào được cung cấp?
- 21. Thêm giá trị mặc định cho trường thời gian (7)
- 22. Hiển thị giá trị điểm theo mặc định trên ZedGraph
- 23. khi sử dụng giá trị mặc định so với hàm khởi tạo khởi tạo trên mô hình
- 24. Khởi tạo các trường trong các lớp kế thừa
- 25. Thêm cột có giá trị không rỗng theo mặc định.
- 26. Tại sao biến toàn cầu và tĩnh được khởi tạo thành giá trị mặc định?
- 27. Mặc định khởi tạo trong java
- 28. Tạo trường mặc định là thời gian epoch
- 29. Giá trị mặc định trong giá trị thuộc tính css có nghĩa là gì?
- 30. Giá trị mặc định của thuộc tính lớp GORM giá trị mặc định
Tại sao trên trái đất là tagged 'resharper' này? – developerbmw
@developerbmw - điều này * đã được * gắn thẻ bằng chia sẻ lại vì ReSharper cảnh báo về điều này: [link] (https://confluence.jetbrains.com/display/ReSharper/Redundant+field+initializer) –
Cảm ơn @WaiHaLee – developerbmw