【问题标题】:How to obtain an item from HashSet depending on a condition in c#如何根据c#中的条件从HashSet中获取项目
【发布时间】:2022-01-02 13:38:01
【问题描述】:

在c#中,对于List数据结构,我们可以通过List.Find(Predicate)或List.FindAll(Predicate)方法将条件指定为lambda表达式来查找单个或多个元素。有没有办法用HashSet做类似的操作?

【问题讨论】:

    标签: c# lambda hashset


    【解决方案1】:

    如果你想要多个结果,你可以使用Where 方法:

    hash.Where(x => Predicate(x));
    

    如果你想要一个单一的结果,你可以使用FirstOrDefault 方法

    hash.FirstOrDefault(x => Predicate(x));
    

    【讨论】:

    • 甚至hash.Where(Predicate)
    【解决方案2】:

    由于HashSet实现了IEnumerable接口,你可以使用像Where这样的扩展方法。

    所以:

    var matches = yourHashSet.Where(item => predicate(item));
    

    应该可以。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-17
      • 1970-01-01
      • 2020-06-23
      • 2018-07-26
      相关资源
      最近更新 更多