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

C# GUID ToString的使用總結(jié)

 更新時間:2021年02月02日 11:36:19   作者:  
這篇文章主要介紹了C# GUID ToString的使用總結(jié),幫助大家更好的理解和使用c#,感興趣的朋友可以了解下

最近在看到小伙伴直接使用 Guid.ToString 方法,我告訴他需要使用 Guid.ToString(“N”) 的方式輸出字符串 ,為什么需要使用 N 這個參數(shù)呢,因為默認的是參數(shù) D 在輸出的時候會出現(xiàn)連字符

Guid 是 Globally Unique Identifier 全局唯一標識符的縮寫,是一種由算法生成的唯一標識,在 C# dotnet 里面的 Guid 類是微軟的UUID標準的實現(xiàn)。

Guid.ToString 里面可以添加下面幾個參數(shù),“N”,“D”,“B”,“P”,“X” 等

如果直接使用 Guid.ToString() 那么就是使用 “D” 這個參數(shù),添加了這個參數(shù)之后的輸出格式大概如下,也就是在字符串中添加連字符

00000000-0000-0000-0000-000000000000
536b4dd7-f3dd-4664-bd69-bc0859d710ab

如果使用 “N” 那么就是只有32位數(shù)字,沒有連字符,這里的數(shù)字是 16 進制表示的,也就是說字符串有 a-f 這幾個英文字符和 0-9 的數(shù)字

00000000000000000000000000000000
2329fcac4fd640f1bc221e254b14d621

在我的業(yè)務(wù)里面,沒有連字符看起來比較好看,于是我就建議小伙伴使用 Guid 的字符串輸出的時候加上 N 這個參數(shù)

而在 Guid 格式化輸出里面,可以選的參數(shù)中的 B 和 P 這只是在使用括號包字符串,如以下代碼

      System.Console.WriteLine(Guid.NewGuid().ToString("B"));
      {e34dead4-212d-442a-8f4c-e00107baec24}
System.Console.WriteLine(Guid.NewGuid().ToString("P"));
(ac10d607-2b39-448f-99b5-0a3205cc9ac1)

從代碼可以看到 B 使用 { 括號包含內(nèi)容 ,使用參數(shù) P 將使用 ( 括號包含內(nèi)容

在 Guid 格式化中的最特殊的是 x 參數(shù),他會存在 4 個數(shù)字,最后一個數(shù)字是 8 個數(shù)字組合的,如下面代碼

  Console.WriteLine(Guid.NewGuid().ToString("X"));
 {0xd3f51d9d,0x31b3,0x45f6,{0x9b,0x7c,0x89,0x1d,0xa5,0x6a,0xa3,0x43}}

GUID 轉(zhuǎn) int

一個 GUID 需要 16 個 byte 也就是 4 個 int 才能組成,可以使用下面的方法轉(zhuǎn)換

   public static int[] Guid2Int(Guid value)
    {
      byte[] b = value.ToByteArray();
      int bint = BitConverter.ToInt32(b, 0);
      var bint1 = BitConverter.ToInt32(b, 4);
      var bint2 = BitConverter.ToInt32(b, 8);
      var bint3 = BitConverter.ToInt32(b, 12);
      return new[] {bint, bint1, bint2, bint3};
    }

    public static Guid Int2Guid(int value, int value1, int value2, int value3)
    {
      byte[] bytes = new byte[16];
      BitConverter.GetBytes(value).CopyTo(bytes, 0);
      BitConverter.GetBytes(value1).CopyTo(bytes, 4);
      BitConverter.GetBytes(value2).CopyTo(bytes, 8);
      BitConverter.GetBytes(value3).CopyTo(bytes, 12);
      return new Guid(bytes);
    }

本文會經(jīng)常更新,請閱讀原文: https://blog.lindexi.com/post/C-GUID-ToString.html ,以避免陳舊錯誤知識的誤導(dǎo),同時有更好的閱讀體驗。

以上就是C# GUID ToString的使用總結(jié)的詳細內(nèi)容,更多關(guān)于C# GUID ToString的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 深入多線程之:雙向信號與競賽的用法分析

    深入多線程之:雙向信號與競賽的用法分析

    本篇文章是對雙向信號與競賽的用法進行了詳細的分析介紹。需要的朋友參考下
    2013-05-05
  • 使用 C# 下載文件的多種方法小結(jié)

    使用 C# 下載文件的多種方法小結(jié)

    本文從最簡單的下載方式開始步步遞進,講述了文件下載過程中的常見問題并給出了解決方案。并展示了如何使用多線程提升 HTTP 的下載速度以及調(diào)用 aria2 實現(xiàn)非 HTTP 協(xié)議的文件下載,對C# 下載文件相關(guān)知識感興趣的朋友一起看看吧
    2021-08-08
  • C#迭代器模式(Iterator Pattern)實例教程

    C#迭代器模式(Iterator Pattern)實例教程

    這篇文章主要介紹了C#迭代器模式(Iterator Pattern),包括了迭代器的適用范圍及用法實例,需要的朋友可以參考下
    2014-09-09
  • c#調(diào)用winrar解壓縮文件代碼分享

    c#調(diào)用winrar解壓縮文件代碼分享

    這篇文章主要介紹了c#調(diào)用winrar解壓縮文件的方法,大家參考使用吧
    2013-12-12
  • C#編寫發(fā)送郵件組件

    C#編寫發(fā)送郵件組件

    本文給大家分享的是使用C#編寫的發(fā)送郵件的組件,非常的簡單實用,有需要的小伙伴可以參考下。
    2015-06-06
  • C#中的問號(?號)用法小結(jié)

    C#中的問號(?號)用法小結(jié)

    這篇文章主要介紹了C#中的問號(?號)用法小結(jié),本文介紹了3種用法,分別作為修飾符、運算符的用法,需要的朋友可以參考下
    2014-07-07
  • c#處理3種json數(shù)據(jù)的實例

    c#處理3種json數(shù)據(jù)的實例

    這篇文章主要介紹了c#處理包含數(shù)組、對象的復(fù)雜json數(shù)據(jù)的方法,,需要的朋友可以參考下
    2014-03-03
  • C#實現(xiàn)Dev Grid拖拽移動行的方法

    C#實現(xiàn)Dev Grid拖拽移動行的方法

    這篇文章主要介紹了C#實現(xiàn)Dev Grid拖拽移動行的方法,可實現(xiàn)Dev Grid拖拽移動行的效果,非常具有實用價值,需要的朋友可以參考下
    2015-05-05
  • c#格式化數(shù)字的方法

    c#格式化數(shù)字的方法

    這篇文章主要介紹了c#格式化數(shù)字的方法,涉及C#針對數(shù)字轉(zhuǎn)化的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • C#表達式樹基礎(chǔ)教程

    C#表達式樹基礎(chǔ)教程

    這篇文章介紹了C#表達式樹的基礎(chǔ)教程,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01

最新評論