Tôi đã luôn khởi tạo các chuỗi của mình thành NULL, với suy nghĩ rằng NULL có nghĩa là không có giá trị và "" hoặc String.Empty là một giá trị hợp lệ. Tôi đã thấy nhiều ví dụ gần đây về mã trong đó String.Empty được coi là giá trị mặc định hoặc không đại diện cho giá trị. Điều này gây cho tôi sự kỳ quặc, với các loại nullable mới được thêm vào trong c #, có vẻ như chúng ta đang có những bước tiến ngược với các chuỗi bằng cách không sử dụng NULL để biểu thị 'Không có giá trị'.
Bạn sử dụng làm trình khởi tạo mặc định là gì và tại sao?
Chỉnh sửa: Dựa trên các câu trả lời tôi tiếp tục suy nghĩ thêm
Tránh xử lý lỗi Nếu giá trị không nên rỗng, tại sao nó lại được đặt
NULL
ở vị trí đầu tiên? Có lẽ sẽ tốt hơn nếu xác định lỗi tại nơi xảy ra thay vì che giấu nó trong phần còn lại của cơ sở mã của bạn?Tránh kiểm tra null Nếu bạn cảm thấy mệt mỏi khi thực hiện kiểm tra null trong mã, sẽ tốt hơn nếu trừu tượng hóa kiểm tra null? Có lẽ bọc (hoặc mở rộng!) Các phương thức chuỗi để làm cho chúng
NULL
an toàn? Điều gì xảy ra nếu bạn liên tục sử dụngString.Empty
và null sẽ hoạt động trên hệ thống của bạn, bạn có bắt đầu thêmNULL
kiểm tra không?
Tôi không thể không quay lại với ý kiến rằng đó là sự lười biếng. Bất kỳ DBA nào cũng sẽ tát bạn chín cách để ngớ ngẩn nếu bạn sử dụng '' thay vì null
trong cơ sở dữ liệu của cô ấy. Tôi nghĩ rằng các nguyên tắc tương tự được áp dụng trong lập trình và nên có ai đó đánh vào những người đứng đầu sử dụng String.Empty
thay vì NULL
đại diện cho không có giá trị.
Câu hỏi liên quan