
正文
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;






