有什么方法可以知道guid看起来像是一个带有字符和数字的“正常”guid?

时间:2012-11-22 13:49:15

标签: c# .net visual-studio-2010 guid

我正在将字符串转换为guid以检查字符串是否为c#.net 4.0中的有效guid 字符串是:

string guid = "11111111-1111-1111-1111-111111111111";

这个guid对我来说应该是无效的,即使它有像guid一样多的字符。有没有办法检查guid是否看起来像一个具有不同字符和数字的“正常”guid?

所有这些方法都不起作用,因为它们返回guid对我有效。

Guid.Parse

Guid.TryParse

Guid.TryParseExact

谢谢!

编辑:

为了澄清,我需要检查我的guid是否像这些Guids:dc6a1ad8-4743-4487-a28e-54d31870dfcb

我们可以放弃“无效”和“有效”这个词,因为人们似乎只关注它。所以我需要确保guid看起来更像这样:dc6a1ad8-4743-4487-a28e-54d31870dfcb而不是:11111111-1111-1111-1111-111111111111

1 个答案:

答案 0 :(得分:4)

如果您只想检查Guid是否有不同的字符,可以检查它包含的不同字节数:

int count = yourGuid.ToByteArray().Distinct().Count();

对于Guid.Empty11111111-1111-1111-1111-111111111111,结果将为1 对于dc6a1ad8-4743-4487-a28e-54d31870dfcb,结果为16

您只需要确定需要多大的数量才能接受Guid为“正常”。