int
的默认值为0,string
的默认值为"",boolean
的默认值为false。请问有人可以澄清 guid
的默认值是什么吗?
int
的默认值为0,string
的默认值为"",boolean
的默认值为false。请问有人可以澄清 guid
的默认值是什么吗?
您可以使用这些方法获取空 GUID。结果将是一个所有位数都为0的GUID - "00000000-0000-0000-0000-000000000000
"。
new Guid()
default(Guid)
Guid.Empty
正如Use Keim在评论中指出的那样,default
是default(Guid)
的缩写。
default(Guid)
和default
是相同的。 - Uwe Keim您可以使用Guid.Empty
。它是一个具有值00000000-0000-0000-0000-000000000000
的Guid结构的只读实例。
您也可以使用这些替代方案。
var g = new Guid();
var g = default(Guid);
谨防使用Guid.NewGuid()
,因为它会生成一个新的Guid。
使用上述选项之一,并与您和您的团队认为更易读的选项保持一致。不要在代码中混用不同的选项。我认为Guid.Empty
是最好的选择,因为new Guid()
可能会让我们以为它正在生成一个新的guid,有些人可能不知道default(Guid)
的值是什么。
GUID 的默认值为空(例如:00000000-0000-0000-0000-000000000000)。
可以使用 Guid.Empty
或 new Guid()
来调用。
如果您想要一个新的 GUID,请使用 Guid.NewGuid()
。
补充以上答案,你不能在方法、索引器或委托定义中使用Guid默认值Guid.Empty
作为可选参数,因为这会导致编译时错误。请使用default(Guid)
或new Guid()
代替。
public class clsGuid // This is a class name
{
public Guid MyGuid { get; set; }
}
static void Main(string[] args)
{
clsGuid cs = new clsGuid();
Console.WriteLine(cs.MyGuid); // This will give empty Guid "00000000-0000-0000-0000-000000000000"
cs.MyGuid = new Guid();
Console.WriteLine(cs.MyGuid); // This will also give empty Guid "00000000-0000-0000-0000-000000000000"
cs.MyGuid = Guid.NewGuid();
Console.WriteLine(cs.MyGuid); // This way, it will give a new Guid (eg. "d94828f8-7fa0-4dd0-bf91-49d81d5646af")
Console.ReadKey(); // This line holds the output screen in a console application
}
Guid
是{00000000-0000-0000-0000-000000000000}
。这基本上是二进制零。 - Szer