• C# Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).


    一、问题描述

      在做C# 的 Guid 转换时,出现这个问题:Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). 中文翻译是:guid应包含32位数字和4个破折号(XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX)。

    二、解决方案

      看我们转换的字符串是否满足这个条件:guid应包含32位数字和4个破折号(XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX),不满足修改满足即可!

    三、案例

      我在转换的时候,由于我需要转换的字符串,不满足guid的规则,才出现这个错误。

    仔细观察,我需要转换的字符串,根本就不满足 guid 的特点,当我把 ar 中的 “ " ” 号去掉就可以了。

    OK,转换完成!

    ---------------修改2019年05月09日---------------------

    因为我的 DataId 本来就是一个Json 字符串,所以没有必要去使用 Replace() 、Split(),直接使用 JsonConvert 操作多好,所以我改为:

    var items = JsonConvert.DeserializeObject<List<Guid>>(_recordBookRepository.Get(input.RecordBookId).DataId);

    让专业的方法,处理专业的事情,是否是最优解。

    ---------------修改2019年05月23日---------------------

    判断 Guid 是否为空。

    传入的参数:

    /// <summary>
            /// id
            /// </summary>
            public Guid? StatGroupId { get; set; }

    判断是否为空:

    var boolStatGroup = input.StatGroupId.HasValue && input.StatGroupId != Guid.Empty;
  • 相关阅读:
    01
    王天宇0703作业
    0706作业
    0705作业
    0704作业
    0703作业
    数据库死锁语句脚本
    项目问题 : 尝试读取或写入受保护的内存。这通常指示其他内存已损坏
    工厂模式(Factory Patter)
    修改DevExpress中英文提示,将英文改为中文
  • 原文地址:https://www.cnblogs.com/gzbit-zxx/p/10762424.html
Copyright © 2020-2023  润新知