Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ DistinctByIterator< TSource, TKey >()

static IEnumerable< TSource > System.Linq.Enumerable.DistinctByIterator< TSource, TKey > ( IEnumerable< TSource > source,
Func< TSource, TKey > keySelector,
IEqualityComparer< TKey > comparer )
inlinestaticprivate

Definition at line 4594 of file Enumerable.cs.

4595 {
4596 using IEnumerator<TSource> enumerator = source.GetEnumerator();
4597 if (!enumerator.MoveNext())
4598 {
4599 yield break;
4600 }
4601 HashSet<TKey> set = new HashSet<TKey>(7, comparer);
4602 do
4603 {
4604 TSource current = enumerator.Current;
4605 if (set.Add(keySelector(current)))
4606 {
4607 yield return current;
4608 }
4609 }
4610 while (enumerator.MoveNext());
4611 }

References System.Add, System.comparer, System.Collections.Generic.Dictionary< TKey, TValue >.GetEnumerator(), System.Linq.keySelector, and System.Linq.source.