UPDATE
Guid.TryParse is available in .NET 4.0
END UPDATE
Obviously there is no public GUID.TryParse() in .NET CLR
This implementation of a TryParse for Guids uses a try-catch in order to catch missformed Guids. It is implemented as extension method und must be placed in a static class:
public static bool TryParseGuid(this string s, out Guid guid)
{
try {
guid = new Guid(s);
return true;
} catch {
guid = Guid.Empty;
return false;
}
}
It can be called with
string s = "{CA761232-ED42-11CE-BACD-00AA0057B223}";
Guid id;
if (s.TryParseGuid(out id) {
// TODO: use id
} else {
// Sorry not a valid Guid.
}
Starting with C# 7.0 / Visual Studio 2017, you can call it with:
string s = "{CA761232-ED42-11CE-BACD-00AA0057B223}";
if (s.TryParseGuid(out Guid id) {
// TODO: use id
} else {
// Sorry not a valid Guid.
}
UPDATE
Since Visual Studio 2010 / .NET Framework 4.0, System.Guid provides a TryParse and a TryPareExact method.