String.IsNullOrEmpty()检查空格

时间:2010-03-31 11:14:01

标签: c#

需要使String.IsNullOrEmpty()将空白字符串计为空?

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

String.IsNullOrEmpty(" ");

是否有更好的方法:

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

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

2 个答案:

答案 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()));
    }
}
相关问题