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())); } }