Cách đúng trong .NET 4.0 là:
if (String.IsNullOrWhiteSpace(strSearch))
Phương pháp String.IsNullOrWhiteSpace
sử dụng ở trên là tương đương với:
if (strSearch == null || strSearch == String.Empty || strSearch.Trim().Length == 0)
// String.Empty is the same as ""
tham chiếu cho phương pháp IsNullOrWhiteSpace
http://msdn.microsoft.com/en-us/library/system.string.isnullorwhitespace.aspx
Cho biết chuỗi được chỉ định là Không có gì, trống hoặc chỉ bao gồm chỉ các ký tự trắng.
Trong các phiên bản trước đó, bạn có thể làm một cái gì đó như thế này:
if (String.IsNullOrEmpty(strSearch) || strSearch.Trim().Length == 0)
Phương pháp String.IsNullOrEmpty
sử dụng ở trên là tương đương với:
if (strSearch == null || strSearch == String.Empty)
Có nghĩa là bạn vẫn cần phải kiểm tra của bạn "IsWhiteSpace" trường hợp với .Trim().Length == 0
theo ví dụ.
tham chiếu cho phương pháp IsNullOrEmpty
http://msdn.microsoft.com/en-us/library/system.string.isnullorempty.aspx
Cho biết chuỗi định là có gì hay một chuỗi rỗng.
Giải thích:
Bạn cần phải đảm bảo strSearch
(hoặc bất kỳ biến cho rằng vấn đề) không null
trước khi bạn là dereference nó bằng cách sử dụng dấu chấm ký tự (.
) - tức là trước khi bạn làm strSearch.SomeMethod()
hoặc strSearch.SomeProperty
bạn cần kiểm tra xem strSearch != null
.
Trong ví dụ của bạn, bạn muốn chắc chắn chuỗi bạn có giá trị, có nghĩa là bạn muốn đảm bảo chuỗi:
- là không null
- Không phải là chuỗi rỗng (
String.Empty
/""
)
- Không chỉ là khoảng trắng
Trong trường hợp trên, bạn phải đặt "Có rỗng không?" trường hợp đầu tiên, do đó, nó không đi vào để kiểm tra các trường hợp khác (và lỗi) khi chuỗi là null
.
thêm trường hợp if (strSearch! = Null)? – ToddBFisher
lỗi cho biết một đối tượng là null. Hoặc strSearch là null hoặc kết quả của strSearch.Trim() là null. Để kiểm tra, sử dụng câu trả lời của Graphain bằng cách sử dụng IsNullOrWhitespace. – Russell