问题描述
|
这样的框架中有任何集合吗?
public class DesiredCollection<T>
{
public DesiredCollection(IEqualityComparer<T> comparer)
{
}
}
要求:
通用集合;
IEqualityComparer或lambda-expression确定相等性;
无需定义密钥类型;
通过钥匙获取物品;
将所有项目作为IEnumerable。
解决方法
各种集合在其构造函数中使用
IEqualityComparer<T>
(通常是多个重载中的一个重载)。特别地,Dictionary<TKey,TValue>
和HashSet<T>
属于这一类。他们使用相等比较器检查键/元素的存在。
但是,除了需要使用相等比较器的构造函数之外,您还没有真正表达其他任何内容。可能您需要的还不止这些...您打算做什么?