首页 > 其他分享 >.Net Core 中GUID字符串的几种格式化

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

时间:2023-10-10 09:22:37浏览次数:31  
标签:Core GUID isUpper NewGuid Guid ToString Net guid

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

标签:Core,GUID,isUpper,NewGuid,Guid,ToString,Net,guid
From: https://www.cnblogs.com/Dong-Dong-Xi/p/17753729.html

相关文章

  • Essential .NET - C# 7.0:细说元组
    Essential.NET-C#7.0:细说元组作者 MarkMichaelis在去年11月的Connect();专题(msdn.microsoft.com/magazine/mt790178)中,我概述了C#7.0,并介绍了元组。在本文中,我将重新深入探究元组,并全方位地介绍语法选项。首先,让我们来想想下面这个问题:为什么要使用元组?有时,可......
  • 网安周报|Mixin Network 云服务商数据库遭到攻击,涉案金额约 2 亿美元
    1、MixinNetwork云服务商数据库遭到攻击,涉案金额约2亿美元MixinNetwork是一个开源的数字资产点对点交易网络,今天在Twitter上宣布,由于该平台遭受了黑客攻击,存款和取款立即暂停。据报道,该攻击的目标是Mixin云服务提供商的数据库,涉案金额约2亿美元。由于在黑客攻击中损失了大量资......
  • .net 调用webservice 总结
    最近做一个项目,由于是在别人框架里开发app,导致了很多限制,其中一个就是不能直接引用webservice。我们都知道,调用webserivice最简单的方法就是在"引用" 那里点击右键,然后选择"引用web服务",再输入服务地址。确定后,会生成一个app.config里面就会自动生成了一些配置信息。现......
  • .net C# 流量限制令牌桶算法工具类
    流量限制令牌桶算法工具类usingSystem;usingSystem.Collections.Generic;usingSystem.Diagnostics;usingSystem.Threading;usingSystem.Threading.Tasks;namespaceCommon{///<summary>///令牌桶算法工具类///</summary>publicclassTokenB......
  • 电表DLT645转BACnet /IP协议网关
    DLT645、IEC104协议、JAE1939协议和BACnetMS/TP协议都是在智能建筑和楼宇自动化领域中常用的通信协议。为了更好地实现不同系统之间的数据交互,将这三种协议转换为BACnetMS/TP协议的网关越来越受到关注。DLT645、IEC104协议和JAE1939协议与BACnetMS/TP协议之间的转换主要是将源协......
  • BACnet转Modbus协议采集网关
    DNP3.0、Lonworks和KNX是三种在智能建筑和楼宇自动化领域中常用的协议,而Modbus协议是一种在工业自动化领域广泛应用的协议。将DNP3.0、Lonworks、KNX协议转换为Modbus协议在实践中可以提高不同系统之间的互操作性,从而实现更高效和智能的建筑管理。将DNP3.0、Lonworks、KNX协议转换......
  • NetCore Ocelot 之 Cache
    OcelotsupportssomeveryrudimentarycachingatthemomentproviderbytheCacheManagerproject.Thissanamazingprojectthatissolvingalotofcachingproblems.IwouldrecommendusingthispackagetocachewithOcelot.Thefollowingexampleshowsh......
  • Kubernetes 集群 troubleshooting
    Kubernetes集群troubleshooting–陈少文的网站(chenshaowen.com)1、FailedCreatePodSandBox错误Errorresponsefromdaemon:OCIruntimecreatefailed:container_linux.go:380:startingcontainerprocesscaused:process_linux.go:402:gettingthefinalchild'......
  • ControlNet-trt优化总结4:onnx图修改与重建
    ControlNet-trt优化总结4:onnx图修改与重建在这一节中,主要总结网络层面的优化,针对于算子插件优化,主要聚焦于以下几点:修改onnx图,添加不支持的算子插件增加前后处理部分,前后处理导出为onnx图onnx图surgeon原有的graph中存在大量的GN操作,正常fp32的时候没有问题,但是当使用fp16......
  • .net core 接收xml、text/plain格式参数
    1、接收xmlcontroller中写法如下[HttpPost,ActionName("Sign_off")][Produces("application/xml")]//接收[Consumes("application/xml")]//返回publicasyncTaskSign_off([FromBody]XmlDocumentxmldoc){.....//你的业务逻辑}Startup.cs中的ConfigureSer......