我们的结构体的一个字段是Guid类型。如何为它生成一个有效值?
当前回答
Guid.NewGuid()将创建一个
其他回答
System.Guid desiredGuid = System.Guid.NewGuid();
如果您正在使用ABP框架,建议使用IGuidGenerator.Create()而不是guide . newguid()。这是为了确保guid是顺序的,从而提高数据库上的读/写时间。 https://docs.abp.io/en/abp/latest/Guid-Generation#iguidgenerator
如果您在Reflection c#中使用它,您可以从property属性中获得guid,如下所示
var propertyAttributes= property.GetCustomAttributes();
foreach(var attribute in propertyAttributes)
{
var myguid= Guid.Parse(attribute.Id.ToString());
}
Guid id = 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
推荐文章
- 如何从枚举中选择一个随机值?
- 驻留在App_Code中的类不可访问
- 在链式LINQ扩展方法调用中等价于'let'关键字的代码
- dynamic (c# 4)和var之间的区别是什么?
- Visual Studio: ContextSwitchDeadlock
- 如何使用iOS创建GUID/UUID
- 返回文件在ASP。Net Core Web API
- 自定义HttpClient请求头
- 如果我使用OWIN Startup.cs类并将所有配置移动到那里,我是否需要一个Global.asax.cs文件?
- VS2013外部构建错误"error MSB4019: The imported project <path> was not found"
- 从另一个列表id中排序一个列表
- 等待一个无效的异步方法
- 无法加载文件或程序集…参数不正确
- c#中枚举中的方法
- 如何从字符串中删除新的行字符?