需要什么才能使String.IsNullOrEmpty()
将空格字符串视为空?
例如:我希望下面的代码返回true
,而不是通常的false
String.IsNullOrEmpty(" ");
有没有比这更好的方法:
String.IsNullOrEmpty(" ".Trim());
(请注意,原来的问题问的是正常情况下的回报是多少,因此出现了一些冷酷的评论,现在换成了一个更合理的问题)。
发布于 2010-03-31 19:18:27
.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
不会执行任何修剪,只会检查字符串是空引用还是空字符串。
发布于 2010-03-31 19:19:36
String.IsNullOrEmpty(" ")
...Returns False
String foo = null;
String.IsNullOrEmpty( foo.Trim())
...Throws异常,因为foo
为Null。
String.IsNullOrEmpty( foo ) || foo.Trim() == String.Empty
...Returns true
当然,您可以将其实现为扩展函数:
static class StringExtensions
{
public static bool IsNullOrWhiteSpace(this string value)
{
return (String.IsNullOrEmpty(value) || String.IsNullOrEmpty(value.Trim()));
}
}
https://stackoverflow.com/questions/2552350
复制相似问题