.Net Core 中GUID字符串的几种格式化

发布时间 2023-10-10 09:20:52作者: 喜东东三三

NET 下的Guid格式化有如下五种:

1.Guid.NewGuid().ToString("N")

获取32位不包含“-”号的GUID字符串

例如:1c64d58a9e834bfe8d053555d81453d0


2.Guid.NewGuid().ToString("D")

获取32位包含“-”号的GUID字符串,默认格式
例如:ae8672ac-a987-43f3-a7c2-ac7b3249ac7b


3.Guid.NewGuid().ToString("P")

获取32位包含“-”号的GUID被“(”、“)”包括的字符串
例如:(ccaf6b6a-6ad4-496c-806b-be6042d4ec4a)

4.Guid.NewGuid().ToString("B")

获取32位包含“-”号的GUID被“{”、“}”包括的字符串
例如:{d291250b-bb5a-424e-9072-3a44a107051a}


5.Guid.NewGuid().ToString("X")
获取4个被“{”、“}”包括的十六进制数,其中第四个值位8个被“{”、“}”包括的十六进制数字符串
例如:{0xdb944edd,0x27f1,0x4786,{0x92,0x95,0xca,0x8f,0x5a,0xc2,0xc5,0x08}}

using System;
 
namespace Demo.Utils
{
    /// <summary>
    /// Guid工具类
    /// </summary>
    public class GuidUtils
    {
        /// <summary>
        /// 获取一个大写的字符串
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        private static string upper(string str)
        {
            return str.ToUpper();
        }
 
        /// <summary>
        /// 获取32位不包含“-”号的GUID字符串
        /// </summary>
        /// <returns></returns>
        public static string NewGuidFormatN(bool isUpper = false)
        {
            var guid = Guid.NewGuid().ToString("N");
            return isUpper == true ? upper(guid) : guid;
        }
 
        /// <summary>
        /// 获取32位包含“-”号的GUID字符串
        /// </summary>
        /// <param name="isUpper"></param>
        /// <returns></returns>
        public static string NewGuidFormatD(bool isUpper = false)
        {
            var guid = Guid.NewGuid().ToString("D");
            return isUpper == true ? upper(guid) : guid;
        }
 
        /// <summary>
        /// 获取32位包含“-”号的GUID被“(”、“)”包括的字符串
        /// </summary>
        /// <param name="isUpper"></param>
        /// <returns></returns>
        public static string NewGuidFormatP(bool isUpper = false)
        {
            var guid = Guid.NewGuid().ToString("P");
            return isUpper == true ? upper(guid) : guid;
        }
 
        /// <summary>
        /// 获取32位包含“-”号的GUID被“{”、“}”包括的字符串
        /// </summary>
        /// <param name="isUpper"></param>
        /// <returns></returns>
        public static string NewGuidFormatB(bool isUpper = false)
        {
            var guid = Guid.NewGuid().ToString("B");
            return isUpper == true ? upper(guid) : guid;
        }
 
        /// <summary>
        /// 获取4个被“{”、“}”包括的十六进制数,其中第四个值位8个被“{”、“}”包括的十六进制数字符串
        /// </summary>
        /// <param name="isUpper"></param>
        /// <returns></returns>
        public static string NewGuidFormatX(bool isUpper = false)
        {
            var guid = Guid.NewGuid().ToString("X");
            return isUpper == true ? upper(guid) : guid;
        }
        
    }
}

(记录一下,侵权联系删除)

————————————————
版权声明:本文为CSDN博主「代码小猫熊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kyowill1988/article/details/76668516