in csharp/src/Containers/UUID.cs [1022:1048]
private static int HexDigit(char c, UUIDParseFormat format)
{
if (c >= '0' && c <= '9')
return c - '0';
switch (format)
{
case UUIDParseFormat.LowerCase:
case UUIDParseFormat.LowerCaseWithoutDashes:
if (c >= 'a' && c <= 'f')
return 10 + c - 'a';
return -1;
case UUIDParseFormat.UpperCase:
case UUIDParseFormat.UpperCaseWithoutDashes:
if (c >= 'A' && c <= 'F')
return 10 + c - 'A';
return -1;
case UUIDParseFormat.AnyCase:
case UUIDParseFormat.AnyCaseWithoutDashes:
case UUIDParseFormat.Any:
if (c >= 'a' && c <= 'f')
return 10 + c - 'a';
if (c >= 'A' && c <= 'F')
return 10 + c - 'A';
return -1;
}
return -1;
}