diff --git a/src/libraries/System.Private.CoreLib/src/System/Guid.cs b/src/libraries/System.Private.CoreLib/src/System/Guid.cs index 47838475459d40..f5dd417a36f8ac 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Guid.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Guid.cs @@ -789,19 +789,15 @@ public override bool Equals(object? o) else g = (Guid)o; // Now compare each of the elements - return g._a == _a && - Unsafe.Add(ref g._a, 1) == Unsafe.Add(ref _a, 1) && - Unsafe.Add(ref g._a, 2) == Unsafe.Add(ref _a, 2) && - Unsafe.Add(ref g._a, 3) == Unsafe.Add(ref _a, 3); + return Unsafe.As(ref g._a) == Unsafe.As(ref _a) && + Unsafe.As(ref g._d) == Unsafe.As(ref _d); } public bool Equals(Guid g) { // Now compare each of the elements - return g._a == _a && - Unsafe.Add(ref g._a, 1) == Unsafe.Add(ref _a, 1) && - Unsafe.Add(ref g._a, 2) == Unsafe.Add(ref _a, 2) && - Unsafe.Add(ref g._a, 3) == Unsafe.Add(ref _a, 3); + return Unsafe.As(ref g._a) == Unsafe.As(ref _a) && + Unsafe.As(ref g._d) == Unsafe.As(ref _d); } private int GetResult(uint me, uint them) => me < them ? -1 : 1; @@ -937,17 +933,13 @@ public int CompareTo(Guid value) } public static bool operator ==(Guid a, Guid b) => - a._a == b._a && - Unsafe.Add(ref a._a, 1) == Unsafe.Add(ref b._a, 1) && - Unsafe.Add(ref a._a, 2) == Unsafe.Add(ref b._a, 2) && - Unsafe.Add(ref a._a, 3) == Unsafe.Add(ref b._a, 3); + Unsafe.As(ref a._a) == Unsafe.As(ref b._a) && + Unsafe.As(ref a._d) == Unsafe.As(ref b._d); public static bool operator !=(Guid a, Guid b) => // Now compare each of the elements - a._a != b._a || - Unsafe.Add(ref a._a, 1) != Unsafe.Add(ref b._a, 1) || - Unsafe.Add(ref a._a, 2) != Unsafe.Add(ref b._a, 2) || - Unsafe.Add(ref a._a, 3) != Unsafe.Add(ref b._a, 3); + Unsafe.As(ref a._a) != Unsafe.As(ref b._a) || + Unsafe.As(ref a._d) != Unsafe.As(ref b._d); public string ToString(string? format) {