亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#使用GUID(全局統(tǒng)一標(biāo)識符)

 更新時間:2022年04月20日 10:20:04   作者:農(nóng)碼一生  
這篇文章介紹了C#使用GUID(全局統(tǒng)一標(biāo)識符)的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、簡介

1.什么是GUID?

全局唯一標(biāo)識符(GUID,Globally Unique Identifier),GUID也稱作 UUID(Universally Unique IDentifier) 。GUID是一種由算法生成的二進(jìn)制長度為128位的數(shù)字標(biāo)識符。GUID主要用于在擁有多個節(jié)點、多臺計算機的網(wǎng)絡(luò)或系統(tǒng)中。

2.為什么要使用GUID?

在理想情況下,任何計算機和計算機集群都不會生成兩個相同的GUID。GUID 的總數(shù)達(dá)到了2^128(3.4×10^38)個,所以隨機生成兩個相同GUID的可能性非常小,但并不為0。GUID一詞有時也專指微軟對UUID標(biāo)準(zhǔn)的實現(xiàn)。
(1). GUID(全局統(tǒng)一標(biāo)識符)是指在一臺機器上生成的數(shù)字,它保證對在同一時空中的所有機器都是唯一的。
通常平臺會提供生成GUID的API。生成算法很有意思,用到了以太網(wǎng)卡地址、納秒級時間、芯片ID碼和許多可能的數(shù)字。GUID的唯一缺陷在于生成的結(jié)果串會比較大。
(2). GUID永遠(yuǎn)是方便的
對于程序開發(fā)的各個方面,.NET Framework簡化了建立和處理GUID數(shù)值的過程。在.NET程序需要的地方,這一功能很容易地生成唯一的數(shù)值。

二、代碼案例

    class Program
    {
        static void Main(string[] args)
        {

            var uuid = Guid.NewGuid().ToString(); // 67b69599-5026-4765-8707-def49a214219

            var uuidN = Guid.NewGuid().ToString("N"); // f93618e93beb4a4181526d7a38c169a4

            var uuidD = Guid.NewGuid().ToString("D"); //c747ac63-a9c2-46f9-80d7-f635c330a59f

            var uuidB = Guid.NewGuid().ToString("B"); // {2a77d03e-0366-4977-97f1-229c17fe906f}

            var uuidP = Guid.NewGuid().ToString("P"); // (8165193f-8595-439d-bbaf-9ce55171eecf)

            var uuidX = Guid.NewGuid().ToString("X"); // {0x48645e66,0xbe0c,0x4990,{0x8e,0xee,0x3c,0x84,0xba,0xda,0x0d,0x83}}

            var guid1 = GenerateId1();//5a0aec9398c64e09

            var guid2 = GenerateId2();//4976172849618296785
        }
        
        private static  string GenerateId1()
        {
            long i = 1;
            foreach (byte b in Guid.NewGuid().ToByteArray())
            {
                i *= ((int)b + 1);
            }
            return string.Format("{0:x}", i - DateTime.Now.Ticks);
        }

        private static  long GenerateId2()
        {
            byte[] buffer = Guid.NewGuid().ToByteArray();
            return BitConverter.ToInt64(buffer, 0);
        }
    }

三、總結(jié)

這里的D,N,B,P是不區(qū)分大小寫的,如果傳入空字符串,則使用的默認(rèn)的D類型,其它情況都會報異常。

到此這篇關(guān)于C#使用GUID(全局統(tǒng)一標(biāo)識符)的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C# 抓圖服務(wù)的實現(xiàn)

    C# 抓圖服務(wù)的實現(xiàn)

    這篇文章主要介紹了C# 抓圖服務(wù)的實現(xiàn),幫助大家更好的利用c#處理窗口,進(jìn)行截圖,感興趣的朋友可以了解下
    2021-01-01
  • 用C#來解析PDF文件

    用C#來解析PDF文件

    這篇文章主要介紹了用C#來解析PDF文件,同時作者也介紹了PdfFileAnalyzer這個應(yīng)用可以作為很好的成品示例,需要的朋友可以參考下
    2015-07-07
  • C#遠(yuǎn)程獲取圖片文件流的方法

    C#遠(yuǎn)程獲取圖片文件流的方法

    這篇文章主要介紹了C#遠(yuǎn)程獲取圖片文件流的方法,涉及C#針對圖片及文件流操作的相關(guān)技巧,需要的朋友可以參考下
    2016-02-02
  • c# record的使用場景

    c# record的使用場景

    這篇文章主要介紹了c# record的使用場景,幫助大家更好的理解和學(xué)習(xí)使用c#的新特性,感興趣的朋友可以了解下
    2021-02-02
  • 利用C#與PLC通信實現(xiàn)設(shè)備遠(yuǎn)程控制與管理

    利用C#與PLC通信實現(xiàn)設(shè)備遠(yuǎn)程控制與管理

    PLC是工業(yè)自動化中用于控制機械設(shè)備、生產(chǎn)線等的核心設(shè)備,通過與PLC的通信,我們可以實現(xiàn)設(shè)備的遠(yuǎn)程監(jiān)控、數(shù)據(jù)采集等功能,C#作為一種現(xiàn)代化的編程語言,能夠非常方便地與PLC進(jìn)行通信,本文將介紹如何利用C#與PLC進(jìn)行通信,并實現(xiàn)設(shè)備的遠(yuǎn)程控制與管理
    2025-02-02
  • C#串口通信工具類的封裝

    C#串口通信工具類的封裝

    這篇文章主要為大家詳細(xì)介紹了C#串口通信工具類封裝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C#實現(xiàn)的調(diào)用DOS命令操作類實例

    C#實現(xiàn)的調(diào)用DOS命令操作類實例

    這篇文章主要介紹了C#實現(xiàn)的調(diào)用DOS命令操作類,實例分析了C#調(diào)用系統(tǒng)常用DOS命令的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • 詳解C#中的委托

    詳解C#中的委托

    本文主要介紹了C#中委托的相關(guān)知識。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • c#二進(jìn)制逆序方法詳解

    c#二進(jìn)制逆序方法詳解

    這篇文章介紹了c#二進(jìn)制逆序方法,有需要的朋友可以參考一下
    2013-10-10
  • C#如何調(diào)用C++庫

    C#如何調(diào)用C++庫

    這篇文章主要介紹了C#如何調(diào)用C++庫方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04

最新評論