2011-11-17 88 views
0

我使用C#asp.net 4.的Guid Costructor - 如何创建一个GUID验证字符串传递是在正确的格式

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

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

我想知道如果您知道更好的方式来执行此操作,说实话,我不确定在这里使用或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! 

回答

4

如果您使用.NET 4,你可以使用Guid.TryParse

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

乔恩非常感谢您的回答!祝您有个美好的一天 – GibboK

3

Guid.TryParse可从.NET 4:

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

否则(3.5或更早),我可以推荐的最好的方法是使用你已有的代码 - 为了避免例外,你必须实现几乎所有的Guid.Parse方法。

+0

感谢Damien为您提供3.5的建议 – GibboK