2011-11-17 53 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