public static int ListToHashCode <TElement>(this ImmutableArray <TElement> lst) where TElement : unmanaged { var bytes = MemoryMarshal.AsBytes(lst.AsReadOnlySpan()); return(xxHash64.Hash(bytes).GetHashCode()); }
public static bool ListEquals <TElement>(this ImmutableArray <TElement> lst1, ImmutableArray <TElement> lst2) where TElement : struct, IEquatable <TElement> { // this works just fine for default / empty on either side. return(lst1.AsReadOnlySpan().SequenceEqual(lst2.AsReadOnlySpan())); }