INNER CODE UNIT · C#

AnimalComparer

BlueshiftSoftware/EntityFrameworkCore · src/Blueshift.EntityFrameworkCore.MongoDB.SampleDomain/_Comparers.cs:7

    public class AnimalComparer : IComparer<Animal>
    {
        public int Compare(Animal x, Animal y)
            => x?.GetType() == y?.GetType()
                ? Comparer<string>.Default.Compare(x?.Name, y?.Name)
                : Comparer<string>.Default.Compare(x?.GetType().Name, y?.GetType().Name);
    }

    public abstract class BaseEqualityComparer<T> : EqualityComparer<T>
    {
        public override int GetHashCode(T obj)
            => obj?.GetHashCode() ?? throw new ArgumentNullException(nameof(obj));

        public sealed override bool Equals(T item1, T item2)
            => (item1 == null && item2 == null)
               || (item1 != null && item2 != null
                   && MemberwiseEquals(item1, item2));

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…