Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ TryParseHex() [2/3]

static bool System.Guid.TryParseHex ( ReadOnlySpan< char > guidString,
out uint result,
ref bool overflow )
inlinestaticprivate

Definition at line 601 of file Guid.cs.

602 {
603 if (guidString.Length != 0)
604 {
605 if (guidString[0] == '+')
606 {
607 guidString = guidString.Slice(1);
608 }
609 if ((uint)guidString.Length > 1u && guidString[0] == '0' && (guidString[1] | 0x20) == 120)
610 {
611 guidString = guidString.Slice(2);
612 }
613 }
614 int i;
615 for (i = 0; i < guidString.Length && guidString[i] == '0'; i++)
616 {
617 }
618 int num = 0;
619 uint num2 = 0u;
620 for (; i < guidString.Length; i++)
621 {
622 char c = guidString[i];
623 int num3 = HexConverter.FromChar(c);
624 if (num3 == 255)
625 {
626 if (num > 8)
627 {
628 overflow = true;
629 }
630 result = 0u;
631 return false;
632 }
633 num2 = num2 * 16 + (uint)num3;
634 num++;
635 }
636 if (num > 8)
637 {
638 overflow = true;
639 }
640 result = num2;
641 return true;
642 }
ReadOnlySpan< T > Slice(int start)

References System.HexConverter.FromChar(), System.ReadOnlySpan< T >.Length, and System.ReadOnlySpan< T >.Slice().