Guid类型的变量不会为空,初始化没有赋值的GUID应该是00000000-0000-0000-0000-000000000000 。
正确的判断应该是if(Guid testId== Guid.Empty)
如:
Guid guid = Guid.Parse("00000000-0000-0000-0000-000000000000"); //Guid guid = Guid.Parse("E441C253-5080-4619-803A-00849D8CF710"); Console.WriteLine(guid); if (guid == Guid.Empty) { Console.WriteLine("GUID无效"); } else { Console.WriteLine("GUID有效"); } Console.Read();
输出结果为:
但是Guid? guid = null 是可以的为空的, 判断方式:
Guid? guid = null; if (guid.ToString() == "" || !guid.HasValue) { Console.WriteLine("GUID无效"); }
生成GUID的几种方式
var uuid = Guid.NewGuid().ToString(); // 9af7f46a-ea52-4aa3-b8c3-9fd484c2af12 var uuidN = Guid.NewGuid().ToString("N"); // e0a953c3ee6040eaa9fae2b667060e09 var uuidD = Guid.NewGuid().ToString("D"); // 9af7f46a-ea52-4aa3-b8c3-9fd484c2af12 var uuidB = Guid.NewGuid().ToString("B"); // {734fd453-a4f8-4c5d-9c98-3fe2d7079760} var uuidP = Guid.NewGuid().ToString("P"); // (ade24d16-db0f-40af-8794-1e08e2040df3) var uuidX = Guid.NewGuid().ToString("X"); // {0x3fa412e3,0x8356,0x428f,{0xaa,0x34,0xb7,0x40,0xda,0xaf,0x45,0x6f}}
其他:待补充...