需要什么使String.IsNullOrEmpty()
计算空白字符串为空?String.IsNullOrEmpty()检查空间
例如,我想下面的返回true
而不是通常的false
的:
String.IsNullOrEmpty(" ");
难道还有比一个更好的方法:
String.IsNullOrEmpty(" ".Trim());
(请注意,原来的问题问什么回报将成为常因此无情的评论,这已被一个更明智的问题所取代)。
需要什么使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
为空。
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()));
}
}
你试过了吗?它会返回false,因为你传递的字符串既不是空也不是空字符串。 – Paddy 2010-03-31 11:16:16
为什么不制作简单的测试程序并自己尝试? – 2010-03-31 11:16:33
Paddy:如果我不使用Trim(),它会返回false我已经尝试过它自己,这就是为什么我要问你的家伙。从我的角度来看,我们的开发人员经常使用剪裁,它也必须使用修剪功能,这正是我所想的。 – 2010-03-31 11:27:11