我有一段代码,可以用GUID中的空字符串替换破折号.

Replace(System.Guid.NewGuid.ToString, "-", "")

这会消除guid的唯一性吗?

还有人能证实这一点吗?

我们在数据库中以char(32)的形式存储guid.可以吗?因为我们有不同时区的国际用户,我们担心字符长度可能超过32.谢谢

推荐答案

是的,可以go 掉破折号.Guid的唯一性是有保证的.

破折号仅用于可读性:内部Guid由16个字节组成

public Guid(int a, short b, short c, byte[] d);
public Guid(int a, short b, short c, byte d, 
            byte e, byte f, byte g, byte h, 
            byte i, byte
public Guid(uint a, ushort b, ushort c, byte d, 
            byte e, byte f, byte g, byte h, 
            byte i, byte j, byte k);

Asp.net相关问答推荐

在 ASP.NET 中访问没有值的查询字符串参数

使用进程外会话状态的 ASP.NET 应用程序中的 SQL Server 连接问题

IIS 将旧用户名返回到我的应用程序

部署后 ASP.Net Core Identity 登录状态丢失

如何使用 json 将复杂类型传递给 ASP.NET MVC 控制器

iOS 8 / Safari 8 不适用于 ASP.NET AJAX 扩展

倒带请求正文流

如何在 Visual Studio 2017 中使用 NPM 并安装包?

为什么我不能在 ASP.net MVC 中使用服务器控件?

在不知道键名的情况下访问 JSON 对象的元素

Page.IsValid 是如何工作的?

如何针对异常需求自定义 ASP.NET Web API AuthorizeAttribute

如何验证用户在 CheckBoxList 中 Select 了至少一个复选框?

如何从url中删除returnurl?

IIS 8.0 ASP.NET 和错误 500.19

Request.Cookies 和 Response.Cookies 之间的区别

使用 Twitter Bootstrap 在 @html.actionlink 中显示 html

URL 路由、图像处理程序和潜在危险的 Request.Path 值

为什么 C# 对于 CSC 文件会遇到此错误?

在 ASP.NET 中获取服务器的 IP 地址?