[英]Checking null and string.Empty in C#
这可能听起来像一个菜鸟问题,但是:
string var;
if (var == null)
和
string var;
if (var == string.Empty)
相同?
重复
@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设计中)。 例如,您有一个方法,它将返回NULL
或string.
这样做是因为null表示操作失败,空字符串表示没有结果。
在某些情况下,您希望在其他对象中执行任何进一步操作之前知道它是否失败或者是否没有结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.