合并主线最近几年来的主要更新,重点推进TinyHttpClient,替代HttpClient
大石头 authored at 2023-03-08 18:39:12
885.00 B
X_NET20
using System.Collections.Generic;

namespace System.Collections
{
	public static class StructuralComparisons
	{
		private sealed class ComparerImpl : IComparer, IEqualityComparer
		{
			int IComparer.Compare(object x, object y)
			{
				return (x as IStructuralComparable)?.CompareTo(y, this) ?? Comparer.Default.Compare(x, y);
			}

			int IEqualityComparer.GetHashCode(object obj)
			{
				return (obj as IEqualityComparer)?.GetHashCode(this) ?? EqualityComparer<object>.Default.GetHashCode(obj);
			}

			bool IEqualityComparer.Equals(object x, object y)
			{
				return (x as IEqualityComparer)?.Equals(y, this) ?? EqualityComparer<object>.Default.Equals(x, y);
			}
		}

		private static readonly ComparerImpl comparer = new ComparerImpl();

		public static IComparer StructuralComparer => comparer;

		public static IEqualityComparer StructuralEqualityComparer => comparer;
	}
}