Tôi thấy rằng Patrick Steele đã trả lời câu hỏi này tốt nhất trên blog của mình: Tránh IsNoth ()
Tôi đã không sao chép bất kỳ câu trả lời nào của anh ấy ở đây, để đảm bảo Patrick Steele nhận được tín dụng cho bài đăng của anh ấy. Nhưng tôi nghĩ rằng nếu bạn đang cố gắng quyết định nên sử dụng Is nothing hay IsNellow thì bạn nên đọc bài viết của anh ấy. Tôi nghĩ bạn sẽ đồng ý rằng Không có gì là sự lựa chọn tốt nhất.
Chỉnh sửa - Bình luận của VoteCoffe tại đây
Nội dung bài viết một phần: Sau khi xem xét thêm mã tôi đã tìm ra một lý do khác bạn nên tránh điều này: Nó chấp nhận các loại giá trị! Rõ ràng, vì IsNoth () là một hàm chấp nhận một 'đối tượng', bạn có thể chuyển bất cứ thứ gì bạn muốn cho nó. Nếu đó là một loại giá trị, .NET sẽ đóng hộp nó vào một đối tượng và chuyển nó tới IsNoth - sẽ luôn trả về giá trị sai trên giá trị được đóng hộp! Trình biên dịch VB.NET sẽ kiểm tra cú pháp kiểu "Is nothing" và sẽ không biên dịch nếu bạn cố thực hiện "Is nothing" trên một loại giá trị. Nhưng hàm IsNoth () biên dịch mà không có khiếu nại. -PSteele - Bầu chọn
IsNothing()