在C#中,List、Set 和 Map 并不直接继承 Collection 接口。
它们分别属于不同的命名空间和类。
List:
List 是 System.Collections.Generic 命名空间下的一个类,它实现了 IList 接口。IList 接口继承自ICollection 接口,而 ICollection 接口继承自 IEnumerable 接口。因此,List 间接地继承了ICollection 和 IEnumerable 接口。(Generic:泛型)
Set:
C# 中没有内置的Set类,但可以使用 HashSet 或 SortedSet 来实现集合的功能。HashSet 和 SortedSet 都是 System.Collections.Generic 命名空间下的类。它们都实现了 ISet 接口,ISet 接口继承自 ICollection 接口,而 ICollection 接口继承自 IEnumerable 接口。因此,HashSet 和SortedSet 间接地继承 ICollection 和 IEnumerable 接口。
Map:
C# 中没有内置的 Map 类,但可以使用 Dictionary 来实现键值对的映射。Dictionary 是System.Collections.Generic 命名空间下的一个类,它实现了IDictionary接口。IDictionary接口继承自ICollection接口,而ICollection接口继承自 IEnumerable 接口。因此,Dictionary 间接地继承了ICollection 和 IEnumerable 接口。
总结起来,List、Set 和 Map(使用 Dictionary 实现)都间接地继承了 ICollection 和 IEnumerable 接口,但它们并不直接继承自 Collection 接口。