Guid的默认值是多少?


106

的默认值int是0,for string是“”,并且boolean它是false。有人可以说明一下默认值guid是什么吗?


24
默认Guid 值为{00000000-0000-0000-0000-000000000000}。它基本上是二进制零。
Szer 2015年


1
该网站可以提供空的向导00000000-0000-0000-0000-000000000000.com
马修(Matthew)

附带说明:字符串的默认值为null,而不是“”(;
Johan Wintgens,

Answers:


118

您可以使用这些方法来获取空的Guid。结果将是一个Guid,其所有数字均为0-“ 00000000-0000-0000-0000-000000000000”。

new Guid()

default(Guid)

Guid.Empty

42

您可以使用Guid.Empty。它是Guid结构的只读实例,其值为00000000-0000-0000-0000-000000000000

您也可以使用这些

var g = new Guid();
var g = default(Guid);

当心不要使用,Guid.NewGuid()因为它将生成一个新的Guid。

使用您和您的团队认为上面的选项更具可读性并坚持使用的选项之一。不要在代码中混用其他选项。我认为Guid.Empty最好的,因为它new Guid()可能使我们认为它正在产生新的指导,而有些人可能不知道的价值default(Guid)


19

GUID的默认值为空。(例如:00000000-0000-0000-0000-000000000000)

可以使用Guid.Empty()或调用new Guid()

如果要新的GUID,请使用 Guid.NewGuid()


8
@anchor我注意到您从未接受过任何对您问题的回答。在这里-在StackExchange的常见问题中,您可以了解如何接受答案以及为什么要这样做。
Genhis

1
@Genhis我认为他得到了他所需要的东西,然后掉下了地球的面孔哈哈
David Watts

10

为了扩展以上答案,您不能在方法,索引器或委托定义中将Guid默认值与Guid.Empty用作可选参数,因为它会给您带来编译时错误。使用default(Guid)new Guid()代替。


-1

使用类创建空向导新向导 ...

Guid的默认值为00000000-0000-0000-0000-000000000000

public class clsGuid  ---This is 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 new guid  "d94828f8-7fa0-4dd0-bf91-49d81d5646af"

            Console.ReadKey(); --this line holding the output screen in console application...
        }

是的...您可以将类的值设为静态值...或在类中使用它
。–

我知道我们可以使用Guid,就像我们可以在C#中使用任何其他类型一样。我的问题是,您的答案是否包含以前没有的任何新信息。您发布的所有信息似乎已经在多年前被其他人发布。
nvoigt

是的...你的权利...我告诉我...你可以使用一个类的空guid和新guid ...该类型的答案不存在...在这个问题中...
Akhilesh Singh
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.