Linq.Enumerable
从课堂上查看这段代码:
static IEnumerable<TSource> DistinctIterator<TSource>(IEnumerable<TSource> source, IEqualityComparer<TSource> comparer) {
Set<TSource> set = new Set<TSource>(comparer);
foreach (TSource element in source)
if (set.Add(element)) yield return element;
}
为什么微软的人决定使用这个内部实现Set
而不是常规的HashSet
? 如果它在任何方面都更好,为什么不向公众公开呢?