@@ -15,31 +15,22 @@ internal sealed class ImmutableEquatableArray<T> : IEquatable<ImmutableEquatable
1515#pragma warning restore SA1402 // File may only contain a single type
1616 where T : IEquatable < T >
1717{
18- /// <summary>
19- /// .
20- /// </summary>
2118 public static ImmutableEquatableArray < T > Empty { get ; } = new ImmutableEquatableArray < T > ( Array . Empty < T > ( ) ) ;
2219
2320 private readonly T [ ] _values ;
2421
25- /// <inheritdoc/>
2622 public T this [ int index ] => _values [ index ] ;
27- /// <inheritdoc/>
2823 public int Count => _values . Length ;
2924
30- /// <inheritdoc/>
3125 public ImmutableEquatableArray ( IEnumerable < T > values )
3226 => _values = values . ToArray ( ) ;
3327
34- /// <inheritdoc/>
3528 public bool Equals ( ImmutableEquatableArray < T > ? other )
3629 => other != null && ( ( ReadOnlySpan < T > ) _values ) . SequenceEqual ( other . _values ) ;
3730
38- /// <inheritdoc/>
3931 public override bool Equals ( object ? obj )
4032 => obj is ImmutableEquatableArray < T > other && Equals ( other ) ;
4133
42- /// <inheritdoc/>
4334 public override int GetHashCode ( )
4435 {
4536 int hash = 0 ;
@@ -51,12 +42,10 @@ public override int GetHashCode()
5142 return hash ;
5243 }
5344
54- /// <inheritdoc/>
5545 public Enumerator GetEnumerator ( ) => new Enumerator ( _values ) ;
5646 IEnumerator < T > IEnumerable < T > . GetEnumerator ( ) => ( ( IEnumerable < T > ) _values ) . GetEnumerator ( ) ;
5747 IEnumerator IEnumerable . GetEnumerator ( ) => _values . GetEnumerator ( ) ;
5848
59- /// <inheritdoc/>
6049 public struct Enumerator
6150 {
6251 private readonly T [ ] _values ;
@@ -68,7 +57,6 @@ internal Enumerator(T[] values)
6857 _index = - 1 ;
6958 }
7059
71- /// <inheritdoc/>
7260 public bool MoveNext ( )
7361 {
7462 int newIndex = _index + 1 ;
@@ -82,7 +70,6 @@ public bool MoveNext()
8270 return false ;
8371 }
8472
85- /// <inheritdoc/>
8673 public readonly T Current => _values [ _index ] ;
8774 }
8875}
0 commit comments