.NET CORE GUID字符串的几种格式化

小Z在维护老项目的时候发现老项目生成没有进行封装,所以自行捣腾了一个封装类,自己乐呵乐呵的玩玩。

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


小Z的工具类如下

GuidUtils.cs

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










  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值