public static bool Equals <T>(IList <T> source, int sourceIndex, IList <T> destination, int destinationIndex, int length) { { var x = source as byte[]; var y = destination as byte[]; if (x != null && y != null) { if (0 > (source.Count - sourceIndex)) { throw new ArgumentOutOfRangeException("sourceIndex"); } if (0 > (destination.Count - destinationIndex)) { throw new ArgumentOutOfRangeException("destinationIndex"); } if (length > (source.Count - sourceIndex)) { throw new ArgumentOutOfRangeException("length"); } if (length > (destination.Count - destinationIndex)) { throw new ArgumentOutOfRangeException("length"); } return(Unsafe.Equals(x, sourceIndex, y, destinationIndex, length)); } } { var equalityComparer = EqualityComparer <T> .Default; return(CollectionUtilities.Equals(source, sourceIndex, destination, destinationIndex, length, equalityComparer)); } }
public static bool Equals <T>(IList <T> source, IList <T> destination) { { var x = source as byte[]; var y = destination as byte[]; if (x != null && y != null) { return(Unsafe.Equals(x, y)); } } { var equalityComparer = EqualityComparer <T> .Default; return(CollectionUtilities.Equals(source, destination, equalityComparer)); } }
public static bool Equals <T>(IEnumerable <T> source, int sourceIndex, IEnumerable <T> destination, int destinationIndex, int length) { var equalityComparer = EqualityComparer <T> .Default; return(CollectionUtilities.Equals(source, sourceIndex, destination, destinationIndex, length, equalityComparer)); }
public static bool Equals <T>(IEnumerable <T> source, IEnumerable <T> destination) { var equalityComparer = EqualityComparer <T> .Default; return(CollectionUtilities.Equals(source, destination, equalityComparer)); }