我们的结构体的一个字段是Guid类型。如何为它生成一个有效值?
当前回答
var guid = new Guid();
嘿,这是一个“有效的”,虽然不是很有用,Guid。
(guid是全0,如果你不知道的话。有时,在你不想使用可空guid的情况下,这是需要指示没有guid的)
其他回答
System.Guid desiredGuid = System.Guid.NewGuid();
var guid = new Guid();
嘿,这是一个“有效的”,虽然不是很有用,Guid。
(guid是全0,如果你不知道的话。有时,在你不想使用可空guid的情况下,这是需要指示没有guid的)
这真的很简单。. net框架提供了一个内置函数来创建和解析guid。这在System名称空间和静态Guid类中可用。
要创建一个GUID,只需使用下面的代码:
var newGuid = System.Guid.NewGuid();
要将GUID字符串解析为GUID,使用下面的代码:
var parsedGuid = System.Guid.Parse(guidString);
如果您只是想创建一个新的指南,并在您的应用程序中使用它,只需使用在线GUID Generator工具之一在线创建一个新的指南。
还有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
如果您在Reflection c#中使用它,您可以从property属性中获得guid,如下所示
var propertyAttributes= property.GetCustomAttributes();
foreach(var attribute in propertyAttributes)
{
var myguid= Guid.Parse(attribute.Id.ToString());
}
推荐文章
- .NET中的Map和Reduce
- 我如何能使一个组合框不可编辑的。net ?
- .NET反射的成本有多高?
- 实体框架回滚并移除不良迁移
- 将流转换为字符串并返回
- 在c#中检查字符串是否只包含数字的最快方法
- IEquatable和重写Object.Equals()之间的区别是什么?
- 创建一个堆栈大小为默认值50倍的线程有什么危险?
- 转换JSON字符串到JSON对象c#
- 显示两个datetime值之间的小时差值
- 如何设置enum为空
- 选择Enum类型的默认值而无需更改值
- 我如何设置在一个组合框中选择的项目,以匹配我的字符串使用c# ?
- String与StringBuilder
- 如何在ASP中使用ILogger进行单元测试。网络核心