Wenn ich nur eine Zeichenfolge teste, um festzustellen, ob es sich um eine GUID handelt, möchte ich nicht wirklich ein Guid-Objekt erstellen, das ich nicht benötige. So...
Update für 2018return Guid.TryParse(value, out var _);
Waitforit
7
Eine GUID ist eine 16-Byte-Zahl (128 Bit), die normalerweise durch eine 32-stellige hexadezimale Zeichenfolge dargestellt wird. Eine GUID (in hexadezimaler Form) muss keine Alpha-Zeichen enthalten, obwohl dies wahrscheinlich zufällig der Fall ist. Wenn Sie auf eine GUID in hexadezimaler Form abzielen, können Sie überprüfen, ob die Zeichenfolge 32 Zeichen lang ist (nachdem Sie Bindestriche und geschweifte Klammern entfernt haben) und nur Buchstaben AF und Zahlen enthält.
Es gibt einen bestimmten Stil für die Darstellung von GUIDs (Dash-Placement), und reguläre Ausdrücke können verwendet werden, um dies zu überprüfen, z.
Es gibt keine Garantie dafür, dass eine GUID alphanumerische Zeichen enthält. FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFist eine gültige GUID 00000000-0000-0000-0000-000000000000und alles dazwischen.
Wenn Sie .NET 4.0 verwenden, können Sie die obige Antwort für Guid.Parse und Guid.TryParse verwenden. Andernfalls können Sie Folgendes tun:
Antworten:
Sehen Sie, ob dies hilft: -
Guid guidResult = Guid.Parse(inputString)
( http://msdn.microsoft.com/en-us/library/system.guid.parse.aspx )
bool isValid = Guid.TryParse(inputString, out guidOutput)
http://msdn.microsoft.com/en-us/library/system.guid.tryparse.aspx
quelle
Wenn ich nur eine Zeichenfolge teste, um festzustellen, ob es sich um eine GUID handelt, möchte ich nicht wirklich ein Guid-Objekt erstellen, das ich nicht benötige. So...
Und so verwenden Sie es:
quelle
return Guid.TryParse(value, out var _);
Eine GUID ist eine 16-Byte-Zahl (128 Bit), die normalerweise durch eine 32-stellige hexadezimale Zeichenfolge dargestellt wird. Eine GUID (in hexadezimaler Form) muss keine Alpha-Zeichen enthalten, obwohl dies wahrscheinlich zufällig der Fall ist. Wenn Sie auf eine GUID in hexadezimaler Form abzielen, können Sie überprüfen, ob die Zeichenfolge 32 Zeichen lang ist (nachdem Sie Bindestriche und geschweifte Klammern entfernt haben) und nur Buchstaben AF und Zahlen enthält.
Es gibt einen bestimmten Stil für die Darstellung von GUIDs (Dash-Placement), und reguläre Ausdrücke können verwendet werden, um dies zu überprüfen, z.
von http://www.geekzilla.co.uk/view8AD536EF-BC0D-427F-9F15-3A1BC663848E.htm . Es sollte jedoch betont werden, dass die GUID tatsächlich eine 128-Bit-Zahl ist und auf verschiedene Arten dargestellt werden kann.
quelle
Es gibt keine Garantie dafür, dass eine GUID alphanumerische Zeichen enthält.
FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
ist eine gültige GUID00000000-0000-0000-0000-000000000000
und alles dazwischen.Wenn Sie .NET 4.0 verwenden, können Sie die obige Antwort für Guid.Parse und Guid.TryParse verwenden. Andernfalls können Sie Folgendes tun:
quelle
Basierend auf der akzeptierten Antwort habe ich eine Erweiterungsmethode wie folgt erstellt:
Wobei "MagicNumbers.defaultGuid" nur "eine leere" Null-Guid "00000000-0000-0000-0000-000000000000" ist.
In meinem Fall war es kein Problem, diesen Wert als Ergebnis einer ungültigen ToGuid-Konvertierung zurückzugeben.
quelle
Siehe http://en.wikipedia.org/wiki/Globally_unique_identifier
Es gibt keine Garantie dafür, dass ein Alpha tatsächlich vorhanden ist.
quelle
Gibt die Guid zurück, wenn sie gültig ist, andernfalls wird Guid.Empty zurückgegeben
quelle
quelle
Verwenden Sie die Standardfunktionalität des GUID-Konstruktors
quelle