在我们的项目中我们经常会查找一些集合中的重要元素,当然我们可以使用常规的foreach循环和if语句来查询,但是我们要学会使用System.Linq命名空间下面的静态类Enumerable下面的静态方法来进行相关查询,public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);其中 Func<TSource, bool> predicate是一个返回bool类型的一个委托,第一个参数是要查询的数据源,比如在下面的代码中:

if (Layouts.Where(x => x.Layout.UnitToken == itm.UnitToken).Count() == 0) 其中Layouts是ObservableCollection<Models.LayoutInfo>类型的变量

public System.Collections.ObjectModel.ObservableCollection<Models.LayoutInfo> Layouts
{
  get { return _layouts; }
      set
          {
      if (value != _layouts)
      {
        _layouts = value;
        OnPropertyChanged("Layouts");
      }
    }
}

另外还举出其它的类型的例子:

var config = planConfig.Where(x => x.Product == itm.GetType().FullName).SingleOrDefault() ?? null;如果无法获取到唯一或者默认值则返回null值

其中 planConfig代表的是一个类的数组,所以数组类型也是可以的。

还有有时我们会从从某一个集合中查到多个元素,然后获取第一个元素,这个可以用下面的这种方式来进行:

TaskPools.Where(x => x.TaskEntity.Cancellation.Token == CancellationToken).ToList()[0].TaskEntity;其中TaskPools是一个ObservableCollection<>类型。

转载于:https://www.cnblogs.com/seekdream/p/5051669.html

如何在集合中巧用Where来查找相关元素相关推荐

  1. 【Groovy】集合遍历 ( 调用集合的 any 函数判定集合中是否有指定匹配规则的元素 | 代码示例 )

    文章目录 一.集合的 any 函数 二.集合的 any 函数代码示例 一.集合的 any 函数 集合的 any 函数 , 用于判断集合中是否有 满足闭包中的条件 的元素 , 返回一个布尔值 , tru ...

  2. 【Groovy】集合遍历 ( 操作符重载 | 集合中的 “ << “ 操作符重载 | 使用集合中的 “ << “ 操作符添加一个元素 | 使用集合中的 “ << “ 操作符添加一个集合 )

    文章目录 一.集合中的 " << " 操作符重载 1.使用集合中的 " << " 操作符添加一个元素 2.使用集合中的 " & ...

  3. scala集合中添加元素_如何在Scala中将元素添加到列表中?

    scala集合中添加元素 In Scala, lists are immutable data structures in which adding new elements is not allow ...

  4. 【Groovy】集合遍历 ( 使用集合的 findAll 方法查找集合中符合匹配条件的所有元素 | 代码示例 )

    文章目录 一.使用集合的 findAll 方法查找集合中符合匹配条件的所有元素 1.闭包中使用 == 作为 findAll 方法的查找匹配条件 2.闭包中使用 is 作为 findAll 方法的查找匹 ...

  5. 【Kotlin】Kotlin 语言集合中的高阶函数详解 ( 数据类 data class | maxBy | minBy | filter | map | any | count | find )

    文章目录 I . List 集合高阶函数引入 II . Kotlin 数据类 ( data class ) III . Java 代码 与 Kotlin 代码实现对比 ( 查询年龄最大的 ) IV . ...

  6. java8 list 去重_Java8-Stream在集合中的8种应用案例

    前言 Java8新特性我们使用的应该比较多了,今天这里整理了个人使用最多的8种场景,希望对大家有所帮助. Java Stream在集合中的运用案例 遍历 遍历也许是我们使用最多的功能了,在Java8之 ...

  7. Redis研究-3.7 有序集合中范围以及数学集合运算

    2019独角兽企业重金招聘Python工程师标准>>> 1.安装redis-py 因为在类Unix系统上都默认安装了Python,所以,本章节主要看看,怎么样用Python来操作Re ...

  8. java map key是否存在_java如何判断map集合中是否存在key?

    java如何判断map集合中是否存在key?,方法,遍历,不存在,键值,是一个 java如何判断map集合中是否存在key? 易采站长站,站长之家为您整理了java如何判断map集合中是否存在key? ...

  9. python heapq模块查找集合中最大或最小n个元素列表

    怎样从一个集合中获得最大或者最小的 N 个元素列表? heapq 模块有两个函数: nlargest() 和 nsmallest() 可以完美解决这个问题. 举例说明: 一.集合类型 "&q ...

  10. java中keyset_Java使用keySet方法获取Map集合中的元素

    本文为大家分享了Map集合中利用keySet方法获取所有的元素值,供大家参考,具体内容如下 /*--------------------------- Map集合中利用keySet方法获取所有的元素值 ...

最新文章

  1. java kinect 人体识别_深度图像的Kinect骨架算法
  2. 学习3dmax的第二天
  3. yaml 数组_接口测试:A01_HttpRunner基础_05_YAML格式测试用例
  4. NET中使用Memcached的相关资源整理
  5. Java进阶day03继承
  6. asp.net使用post方式action到另一个页面,在另一个页面接受form表单的值!(报错,已解决!)...
  7. Unity3d常用插件
  8. WinAPI: GetCursorPos - 获取鼠标指针的当前位置
  9. php mysql索引最左原则_MySQL 索引使用策略及优化
  10. JDK18 Java 18 拥有 9 个新特性
  11. [Luogu1216][USACO1.5]数字三角形 Number Triangles
  12. android 动画完成后不可点击事件,android – TranslateAnimation后按钮不可点击
  13. 云队友丨带不好人,就只能自己干到死
  14. 相信我,我们离成为废物阶级不远了!
  15. Python数据分析及可视化-招聘网站岗位数据分析
  16. 移动端H5页面编辑器开发实战--经验技巧篇
  17. Linux Centos8 安装Minio开机启动并Nginx代理访问
  18. 2013年9月16日
  19. JAVA 多用户商城系统b2b2c-Spring Cloud Stream 介绍
  20. 欧几里得及欧几里得扩展算法

热门文章

  1. 中科大博士写外挂被抓:涉案总牟利 300 多万,每月分得 4~6k
  2. 未来互联网最稀缺的能力是什么?
  3. easypoi中excel注解开关_easypoi: 入,Word模板导出,通过简单的注解和模板 语言(熟悉的表达式语法),完成以前复杂的写法...
  4. *第二周*数据结构实践项目二【多文件系统】
  5. 使用CoreTelephony获得SIM卡网络运营商名称
  6. 130242014029-黄超强-实验一
  7. IBM Rational Appscan使用之扫描结果分析
  8. webshell提权20种思路
  9. 知识管理系统Data Solution研发日记之七 源代码与解决方案
  10. 易语言-数据类型及其长度