String.IsNullOrEmpty()检查空格

Asi*_*jad 19 c#

String.IsNullOrEmpty()空白字符串计数为空需要什么?

例如.我希望以下内容返回true而不是通常false:

String.IsNullOrEmpty(" ");
Run Code Online (Sandbox Code Playgroud)

有没有比以下更好的方法:

 String.IsNullOrEmpty(" ".Trim());
Run Code Online (Sandbox Code Playgroud)

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

Joã*_*elo 51

.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());
}
Run Code Online (Sandbox Code Playgroud)

String.IsNullOrEmpty不会进行任何修正,将只检查字符串是一个空引用或空字符串.


Row*_*haw 12

String.IsNullOrEmpty(" ")
Run Code Online (Sandbox Code Playgroud)

...返回False

String foo = null;
String.IsNullOrEmpty( foo.Trim())
Run Code Online (Sandbox Code Playgroud)

...抛出一个异常,就像fooNull一样.

String.IsNullOrEmpty( foo ) || foo.Trim() == String.Empty
Run Code Online (Sandbox Code Playgroud)

...返回true

当然,您可以将其实现为扩展功能:

static class StringExtensions
{
    public static bool IsNullOrWhiteSpace(this string value)
    {
        return (String.IsNullOrEmpty(value) || String.IsNullOrEmpty(value.Trim()));
    }
}
Run Code Online (Sandbox Code Playgroud)