C# 使用Guid.Empty.ToString()

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

我在库中有一个返回Guid的方法。因此,我的代码如下所示:

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
。因此,检查if
UnqId
是否为空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