Guid构造函数 - 如何创建一个Guid来验证传递的字符串格式是否正确

时间:2011-11-17 08:27:23

标签: c# asp.net guid

我使用c#asp.net 4。

我需要从String创建一个Guid。字符串可以是正确的格式(因此可以创建Guid)或以不接受的格式 - 在这种情况下,我需要将变量isGuid设置为false。

目前我使用这种方法。正如您所看到的,我使用Try Catch驱动逻辑。

我想知道你是否知道更好的方法来执行此操作,说实话我不确定在这里使用或尝试捕获是否合适。

PS:如果你认为我的Q的标题不合适,请告诉我我会改变它。谢谢! PS2:如果你知道一种更好的语法形式,请告诉我在编码方面我很陌生。

  string filename;
   bool isGuid;
   Guid guid;
   try
   {
        guid = new Guid(filename);
        isGuid = true;
   }
   catch
   {
        isGuid = false;
   }
   if(isGuid)
   // Do smt here!

2 个答案:

答案 0 :(得分:4)

如果您使用的是.NET 4,则可以使用Guid.TryParse

Guid guid;
bool valid = Guid.TryParse(text, out guid);

答案 1 :(得分:3)

Guid.TryParse可从.NET 4获得:

if (Guid.TryParse(stringGuid, out newGuid))
        Console.WriteLine("Converted {0} to a Guid", stringGuid);

否则(3.5或更早),我建议的最好的方法是使用你已有的代码 - 为了避免异常,你必须实现几乎所有的Guid.Parse方法。