为什么C#HashSets有一个Distinct()方法

atl*_*tis 6 c# hashset

为什么HashSet上有一个Distinct()方法,当它们无法包含重复项时?

Ada*_*rth 13

Distinct方法不是HashSet<>,但是IEnumerable<>由...实现HashSet<>.

某些类型不能"省略"扩展方法.一旦添加到类型中,所有类型和任何派生类型都将获得扩展方法.

只是为了演示,如果你扩展了,那么object如果添加了相关的命名空间,你就会丢弃所有东西.所以不要添加:

namespace System
{
    public static class ObjectExtensions
    {
        public static void Garbage(this object foo)
        {
        }
    }
}
Run Code Online (Sandbox Code Playgroud)