【发布时间】:2022-01-02 13:38:01
【问题描述】:
在c#中,对于List数据结构,我们可以通过List.Find(Predicate)或List.FindAll(Predicate)方法将条件指定为lambda表达式来查找单个或多个元素。有没有办法用HashSet做类似的操作?
【问题讨论】:
在c#中,对于List数据结构,我们可以通过List.Find(Predicate)或List.FindAll(Predicate)方法将条件指定为lambda表达式来查找单个或多个元素。有没有办法用HashSet做类似的操作?
【问题讨论】:
如果你想要多个结果,你可以使用Where 方法:
hash.Where(x => Predicate(x));
如果你想要一个单一的结果,你可以使用FirstOrDefault 方法
hash.FirstOrDefault(x => Predicate(x));
【讨论】:
hash.Where(Predicate)
由于HashSet实现了IEnumerable接口,你可以使用像Where这样的扩展方法。
所以:
var matches = yourHashSet.Where(item => predicate(item));
应该可以。
【讨论】: