Không quan trọng, nó tạo mã chính xác . (int?)null
được dịch bởi trình biên dịch C# thành new Nullable<int>()
. Bạn có thể thấy điều này cho chính mình bằng cách viết một chương trình thử nghiệm nhỏ và xem xét nó với ildasm.exe
Vì vậy, "tốt hơn" chỉ đơn thuần là kiểu bạn thích. Sử dụng liên tục của int? sẽ là sở thích cá nhân của tôi.
Một lưu ý thực tế: trong một phiên gỡ lỗi điển hình, bạn có thể quan tâm đến việc tìm ra rằng null đang được trả về. Đặc biệt vì dữ liệu bạn đọc không tạo ra những gì bạn mong đợi. Điều đó trở nên rất dễ dàng nếu bạn viết câu lệnh không trả về trên một dòng riêng biệt:
int i;
if (Int32.TryParse(Request["id"], out i)) return i;
else return null; // <== set breakpoint here.
Hãy loại bỏ quá trình truyền. Và tạo mã số chính xác
Nguồn
2010-04-29 18:08:33
Không thấy điều này trước đây, tôi thích nó! Tôi đã luôn luôn sử dụng (int?) Null và luôn luôn cảm thấy nó là clunky. –