6

とにかく重複を含めることができないのに、HashSet で利用可能な Distinct() メソッドがあるのはなぜですか?

4

1 に答える 1

13

DistinctメソッドはにありませんHashSet<>が、それIEnumerable<>はによって実装されますHashSet<>

特定のタイプから拡張メソッドを「省略」することはできません。タイプに追加されると、そのすべてのタイプと派生メソッドが拡張メソッドを取得します。

実例として、拡張objectした場合、関連する名前空間を追加すると、すべてが散らかってしまいます。したがって、追加しないでください。

namespace System
{
    public static class ObjectExtensions
    {
        public static void Garbage(this object foo)
        {
        }
    }
}
于 2012-06-07T14:30:20.653 に答える