String.IsNullOrEmpty()检查空格

使String.IsNullOrEmpty()将空格字符串计为空是什么?

例如。 我希望以下内容返回true而不是通常的false

 String.IsNullOrEmpty(" "); 

有没有比以下更好的方法:

  String.IsNullOrEmpty(" ".Trim()); 

(请注意,原始问题通常会回答什么是非同情的评论,这已经被一个更明智的问题所取代)。

.NET 4.0将引入方法String.IsNullOrWhiteSpace 。 在此之前,如果要处理空白字符串,则需要使用Trim就像处理空字符串一样。

对于不使用.NET 4.0的代码,可以实现检查null或空或空格字符串的辅助方法,如下所示:

 public static bool IsNullOrWhiteSpace(string value) { if (String.IsNullOrEmpty(value)) { return true; } return String.IsNullOrEmpty(value.Trim()); } 

String.IsNullOrEmpty不会执行任何修剪,只会检查字符串是空引用还是空字符串。

 String.IsNullOrEmpty(" ") 

…返回False

 String foo = null; String.IsNullOrEmpty( foo.Trim()) 

…当foo为Null时抛出一个exception。

 String.IsNullOrEmpty( foo ) || foo.Trim() == String.Empty 

…返回true

当然,您可以将其实现为扩展function:

 static class StringExtensions { public static bool IsNullOrWhiteSpace(this string value) { return (String.IsNullOrEmpty(value) || String.IsNullOrEmpty(value.Trim())); } }