gzbit-zxx

一、问题描述

  在做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;

 

分类:

技术点:

相关文章:

  • 2021-11-26
  • 2021-11-18
  • 2021-11-22
  • 2021-09-18
  • 2021-12-19
  • 2021-06-01
  • 2021-12-06
  • 2021-12-27
猜你喜欢
  • 2021-04-24
  • 2021-10-22
  • 2022-01-05
  • 2021-08-06
  • 2021-09-14
  • 2021-11-12
  • 2021-10-07
相关资源
相似解决方案