在C#中检查null和string.Empty

Ash*_*Ash 4 .net c#

这可能听起来像一个菜鸟问题,但是:

string var;
if (var == null)
Run Code Online (Sandbox Code Playgroud)

string var;
if (var == string.Empty)
Run Code Online (Sandbox Code Playgroud)

相同?

重复

String.Empty和Null有什么区别?在C#中,我应该使用的String.Empty或空?

Kev*_*ghe 31

@Jay是对的,他们不一样. String.IsNullOrEmpty()检查null和""是一种方便的方法.

  • 这是酷表兄String.IsNullOrWhiteSpace (4认同)

Jay*_*uzi 19

不,他们不一样.

string.Empty""一个实际的对象:一个0长度的字符串. null意味着没有对象.


Ant*_*iti 6

它们不一样,mscorlib中String.IsNullOrEmpty(string)的实现演示了它:

public static bool IsNullOrEmpty(string value)
{
    if (value != null)
    {
        return (value.Length == 0);
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)