我们的结构体中有一个字段是Guid
类型。如何生成有效值?
Guid id = Guid.NewGuid();
有两种方法
var guid = Guid.NewGuid();
或者var guid = Guid.NewGuid().ToString();
两者都使用Guid类,第一个创建Guid对象,第二个创建Guid字符串。
var guid = Guid.NewGuid().ToString()
仅将其转换为字符串。 - Michael MeadowsGuid.NewGuid()
创建一个新的随机GUID。
要创建一个类似于00000000-0000-0000-0000-000000000000
的“空”全零GUID。
var makeAllZeroGuID = new System.Guid();
或者var makeAllZeroGuID = System.Guid.Empty;
为了创建一个真正具有唯一值的 GUID,您可能想要使用以下代码: 为了创建一个具有唯一值的实际GUID,您可能想要:
var uniqueGuID = System.Guid.NewGuid();
var guid = new Guid();
嘿,这是一个“有效”的,虽然不是很有用的Guid。
(如果你不知道,这个guid全部都是零。有时在表示不想使用可空Guid的情况下需要这样做)
var guid = new Guid(new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, });
,意思是创建一个 GUID 对象并将其设置为所有位都为零,最后一位为一。 - Jeppe Stig Nielsenvar tempGuid = Guid.Parse("<guidValue>");
其中 <guidValue>
将类似于 1A3B944E-3632-467B-A53A-206305310BAE
。
System.Guid desiredGuid = System.Guid.NewGuid();
还有一个叫做ShortGuid的东西 - 它是一个C#中更短且适合url的GUID类。它可以作为Nuget下载。更多信息请看这里。
PM> Install-Package CSharpVitamins.ShortGuid
使用方法:
Guid guid = Guid.NewGuid();
ShortGuid sguid1 = guid; // implicitly cast the guid as a shortguid
Console.WriteLine(sguid1);
Console.WriteLine(sguid1.Guid);
这会产生一个新的guid,使用该guid创建一个ShortGuid,并在控制台中显示两个等效值。结果可能如下:
ShortGuid: FEx1sZbSD0ugmgMAF_RGHw
Guid: b1754c14-d296-4b0f-a09a-030017f4461f
Guid guid = Guid.NewGuid();
using System;