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}}

作者: 風禾互聯


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM