我们的结构体的一个字段是Guid类型。如何为它生成一个有效值?
当前回答
还有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
其他回答
有两种方法
var guid = Guid.NewGuid();
or
var guid = Guid.NewGuid().ToString();
两者都使用Guid类,第一个创建Guid对象,第二个创建Guid字符串。
Guid.NewGuid()将创建一个
如果您在Reflection c#中使用它,您可以从property属性中获得guid,如下所示
var propertyAttributes= property.GetCustomAttributes();
foreach(var attribute in propertyAttributes)
{
var myguid= Guid.Parse(attribute.Id.ToString());
}
如果你想创建一个“想要的”Guid,你可以这样做
var tempGuid = Guid.Parse("<guidValue>");
其中<guidValue>将是类似1A3B944E-3632-467B-A53A-206305310BAE。
如果您正在使用ABP框架,建议使用IGuidGenerator.Create()而不是guide . newguid()。这是为了确保guid是顺序的,从而提高数据库上的读/写时间。 https://docs.abp.io/en/abp/latest/Guid-Generation#iguidgenerator
推荐文章
- 如何将枚举绑定到WPF中的组合框控件?
- 拒绝访问该路径
- Visual Studio - Resx文件默认“内部”为“公共”
- 使用linq转换列表到字典,不用担心重复
- 单元测试:日期时间。现在
- 什么是回调?
- 返回匿名类型的结果?
- 何时使用IList,何时使用List
- ConfigurationManager。AppSettings在.NET Core 2.0中可用?
- 在c#的控制台应用程序中使用'async
- 在单元测试中设置HttpContext.Current.Session
- 如何开始开发Internet Explorer扩展?
- 更新行,如果它存在,否则插入逻辑实体框架
- 在什么情况下SqlConnection会自动被征召到环境事务范围事务中?
- 用c#解析JSON