需要使String.IsNullOrEmpty()
将空白字符串计为空?
EG。我希望以下内容返回true
而不是通常的false
:
String.IsNullOrEmpty(" ");
是否有更好的方法:
String.IsNullOrEmpty(" ".Trim());
(请注意,原始问题通常会回报什么是非同情的评论,这已被一个更明智的问题所取代)。
答案 0 :(得分:50)
.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
不会执行任何修剪,只会检查字符串是空引用还是空字符串。
答案 1 :(得分:12)
String.IsNullOrEmpty(" ")
...返回False
String foo = null;
String.IsNullOrEmpty( foo.Trim())
...因foo
为空而引发异常。
String.IsNullOrEmpty( foo ) || foo.Trim() == String.Empty
...返回true
当然,您可以将其实现为扩展功能:
static class StringExtensions
{
public static bool IsNullOrWhiteSpace(this string value)
{
return (String.IsNullOrEmpty(value) || String.IsNullOrEmpty(value.Trim()));
}
}