【发布时间】:2013-06-12 08:27:49
【问题描述】:
查看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?如果它在任何方面都更好,为什么不向公众公开呢?
【问题讨论】: