C# GUID使用总结
全局唯一标识符(GUID,Globally Unique Identifier)
What is GUID
也称作 UUID(Universally Unique IDentifier) 。
GUID是一种由算法生成的二进制长度为128位的数字标识符。
GUID主要用于在拥有多个节点、多台计算机的网络或系统中。
Why to use GUID
在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。GUID 的总数达到了2^128(3.4×10^38)个,所以随机生成两个相同GUID的可能性非常小,但并不为0。GUID一词有时也专指微软对UUID标准的实现。
(1). GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。
通常平台会提供生成GUID的API。生成算法很有意思,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。GUID的唯一缺陷在于生成的结果串会比较大。
(2). GUID永远是方便的
对于程序开发的各个方面,.NET Framework简化了建立和处理GUID数值的过程。在.NET程序需要的地方,这一功能很容易地生成唯一的数值。
缺点 | 优点 | |
GUID |
1. GUID过长,看表现形式,至少都有32位,长的38位,浪费存储空间 2. GUID是根据硬件设备相关ID以及时间戳生成的 3. GUID不利于检索、外键关联 |
1. 一般来说不担心有冲突的影响,而且,根据GUID的生成规则,还能大致知道生成的计算机硬件设备、时间等信息(但这个有多少意义呢) 2. 能在业务层就知道目标ID,而不是数据提交给数据库系统后才确定 |
自增长 | 1. 多数据库同步、读写分离十分不方便。 | 1. 使用简单 |
How to use GUID
C# 中使用GUID
Guid.NewGuid().ToString() : 1f13a943-4c7e-4bfc-aac5-935886591424
Guid.NewGuid().ToString("N"): 3a81013f9ee549b38f11ee3d50f5bd78
Guid.NewGuid().ToString("D"): c4219375-c2c8-4639-86e8-8d910ed12186 -- 默认为:D
Guid.NewGuid().ToString("B"): {a793927d-9a1b-4d25-9562-0a59522db9c0}
Guid.NewGuid().ToString("P"): (a99839b9-da94-40fd-87a5-4a5e73677b1f)
Guid.NewGuid().ToString("X"): {0xb294a44e,0x43d9,0x4b60,{0xb5,0xb9,0x32,0x29,0xae,0x46,0x45,0x17}}
补充说明[2017/5/26]
遇到一个关于“-”转码的问题, 手机端对“-”二次编码后传递给后台,导致后台识别不了,Request.Form, QueryString会自动解码一次
最新文章
- 【linux】free命令中cached和buffers的区别
- 机器学习之sklearn——SVM
- easyui 键盘控制tree 上下
- [转]popwindow用法
- UVA - 10249 The Grand Dinner
- 17.10.28&;29
- MySQL存储过程--(1)
- offsetLeft、offsetX等
- [转载]Windows 2003 R2 SP2 VOL 企业版(简体中文)
- SV coverage
- JavaScript: DOM Docunment
- Ubuntu 14.10 下ZooKeeper+Hadoop2.6.0+HBase1.0.0 的HA机群高可用配置
- label标签的显示和隐式关联问题
- (转载)Fiddler调式使用知多少(一)深入研究
- Python自动化开发 - Django基础
- 【JVM】jvm的jps命令
- Tomcat源码学习
- ThinkPHP think-migration 简洁使用教程
- 试用一下markdown
- VisualStudio快捷键
热门文章
- ReactiveCocoa入门教程——第一部分【转载】
- js获取和设置属性的方法
- git for windows 无法结束node进程(windows下杀进程)
- 将到来的战略转变:移动 Web 还是移动 Apps?
- VMware 报错“Intel VT-x处于禁止状态”
- JS基础知识再整理..........不断更新中
- android菜鸟学习笔记16----Android项目打包安装过程(Run as Android Application)
- Struts2问题总结
- 洛谷 3275 [SCOI2011]糖果
- 微信小程序配置详解