C# 使用Guid.Empty.ToString()
我在库中有一个返回Guid的方法。因此,我的代码如下所示:C# 使用Guid.Empty.ToString(),c#,.net,C#,.net,我在库中有一个返回Guid的方法。因此,我的代码如下所示: var UnqId = myMethod(); myMethod返回Guid 我的现有代码如下: if (Guid.Empty.ToString != UnqId) return true; else return false; 我想知道Guid.Empty.ToString()的用途是什么,当上面的代码可以用这种方式编写时: if (UnqId.ToString() != String.Empty()) retu
var UnqId = myMethod();
myMethod返回Guid
我的现有代码如下:
if (Guid.Empty.ToString != UnqId)
return true;
else
return false;
我想知道Guid.Empty.ToString()的用途是什么,当上面的代码可以用这种方式编写时:
if (UnqId.ToString() != String.Empty())
return true;
else
return false;
Guid.Empty.ToString()是否有任何特定用途?
Guid.Empty.ToString()不是空字符串,它将是:00000000-0000-0000-00000000
。因此,检查ifUnqId
是否为空GUID字符串GUID.empty与string.EmptyYou应该使用if(UnqId==default(GUID)){}
为什么要进行字符串转换?只需if(UniqueId!=Guid.Empty)
@RKh`返回该类型的默认值,对于引用类型,该值为null
,对于Guid
为Guid.Empty
返回UnqId!=Guid.Empty代码>是您所需要的全部。当使用:if(UnqId!=default(Guid)){}时,它会抛出警告:“!=操作数不能应用于字符串和Guid。@RKh,UndId
是字符串而不是Guid,这是为什么您应该问myMethod
的作者,我猜结果来自于执行ToString()
在GUID上。您不能将string
和GUID
与=
进行比较。您需要将string
转换为GUID
,或者在您的代码中,将GUID
转换为string
,这意味着myMethod
将返回字符串,因为默认值(GUID)
肯定返回Guid
。如果不确定返回类型,可能不要使用var
。