I wrote an extension method for the string type. With this method you can check if an string is an Guid. The method returns a Bool.
[code:c#]
public static class StringExtensions
{
public static bool IsGuid(this string input)
{
Regex isGuid = new Regex(@"^({){0,1}[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}(}){0,1}$", RegexOptions.Compiled);
bool isValid = false;
if (input != null)
{
if (isGuid.IsMatch(input))
{
isValid = true;
}
}
return isValid;
}
}
[/code]
If you're wondering I didn't wrote the Regex myself :-) (but it works)
This brute-force method is mutch faster (thanks to Arjan and Tag for the comments):
[code:c#]
public static bool IsGuid(this string input)
{
try
{
new Guid(input);
return true;
}
catch (ArgumentNullException) {}
catch (FormatException) {}
catch (OverflowException) {}
return false;
}
[/code]
A good example how extension methods can make some things easier.
Hope it helps!