繁体   English   中英

在C#中检查null和string.Empty

[英]Checking null and string.Empty in C#

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

string var;
if (var == null)

string var;
if (var == string.Empty)

相同?

重复

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

@Jay是对的,他们不一样。 String.IsNullOrEmpty()是检查null和“”的便捷方法。

不,他们不一样。

string.Empty""相同,它是一个实际的对象:一个长度为0的字符串。 null表示没有对象。

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

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

不,他们不是。 第一个检查变量是否已初始化或稍后是否设置为“null”。 第二个检查变量的值是否为“”(空)。 但是,你不应该使用它们。 您应该使用string.IsNullOrEmpty(var)。

但有时你想知道字符串是否为NULL并且它的空是无关紧要(在OO设计中)。 例如,您有一个方法,它将返回NULLstring. 这样做是因为null表示操作失败,空字符串表示没有结果。

在某些情况下,您希望在其他对象中执行任何进一步操作之前知道它是否失败或者是否没有结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM