如何在集合中巧用Where来查找相关元素
在我们的项目中我们经常会查找一些集合中的重要元素,当然我们可以使用常规的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来查找相关元素相关推荐
- 【Groovy】集合遍历 ( 调用集合的 any 函数判定集合中是否有指定匹配规则的元素 | 代码示例 )
文章目录 一.集合的 any 函数 二.集合的 any 函数代码示例 一.集合的 any 函数 集合的 any 函数 , 用于判断集合中是否有 满足闭包中的条件 的元素 , 返回一个布尔值 , tru ...
- 【Groovy】集合遍历 ( 操作符重载 | 集合中的 “ << “ 操作符重载 | 使用集合中的 “ << “ 操作符添加一个元素 | 使用集合中的 “ << “ 操作符添加一个集合 )
文章目录 一.集合中的 " << " 操作符重载 1.使用集合中的 " << " 操作符添加一个元素 2.使用集合中的 " & ...
- scala集合中添加元素_如何在Scala中将元素添加到列表中?
scala集合中添加元素 In Scala, lists are immutable data structures in which adding new elements is not allow ...
- 【Groovy】集合遍历 ( 使用集合的 findAll 方法查找集合中符合匹配条件的所有元素 | 代码示例 )
文章目录 一.使用集合的 findAll 方法查找集合中符合匹配条件的所有元素 1.闭包中使用 == 作为 findAll 方法的查找匹配条件 2.闭包中使用 is 作为 findAll 方法的查找匹 ...
- 【Kotlin】Kotlin 语言集合中的高阶函数详解 ( 数据类 data class | maxBy | minBy | filter | map | any | count | find )
文章目录 I . List 集合高阶函数引入 II . Kotlin 数据类 ( data class ) III . Java 代码 与 Kotlin 代码实现对比 ( 查询年龄最大的 ) IV . ...
- java8 list 去重_Java8-Stream在集合中的8种应用案例
前言 Java8新特性我们使用的应该比较多了,今天这里整理了个人使用最多的8种场景,希望对大家有所帮助. Java Stream在集合中的运用案例 遍历 遍历也许是我们使用最多的功能了,在Java8之 ...
- Redis研究-3.7 有序集合中范围以及数学集合运算
2019独角兽企业重金招聘Python工程师标准>>> 1.安装redis-py 因为在类Unix系统上都默认安装了Python,所以,本章节主要看看,怎么样用Python来操作Re ...
- java map key是否存在_java如何判断map集合中是否存在key?
java如何判断map集合中是否存在key?,方法,遍历,不存在,键值,是一个 java如何判断map集合中是否存在key? 易采站长站,站长之家为您整理了java如何判断map集合中是否存在key? ...
- python heapq模块查找集合中最大或最小n个元素列表
怎样从一个集合中获得最大或者最小的 N 个元素列表? heapq 模块有两个函数: nlargest() 和 nsmallest() 可以完美解决这个问题. 举例说明: 一.集合类型 "&q ...
- java中keyset_Java使用keySet方法获取Map集合中的元素
本文为大家分享了Map集合中利用keySet方法获取所有的元素值,供大家参考,具体内容如下 /*--------------------------- Map集合中利用keySet方法获取所有的元素值 ...
最新文章
- java kinect 人体识别_深度图像的Kinect骨架算法
- 学习3dmax的第二天
- yaml 数组_接口测试:A01_HttpRunner基础_05_YAML格式测试用例
- NET中使用Memcached的相关资源整理
- Java进阶day03继承
- asp.net使用post方式action到另一个页面,在另一个页面接受form表单的值!(报错,已解决!)...
- Unity3d常用插件
- WinAPI: GetCursorPos - 获取鼠标指针的当前位置
- php mysql索引最左原则_MySQL 索引使用策略及优化
- JDK18 Java 18 拥有 9 个新特性
- [Luogu1216][USACO1.5]数字三角形 Number Triangles
- android 动画完成后不可点击事件,android – TranslateAnimation后按钮不可点击
- 云队友丨带不好人,就只能自己干到死
- 相信我,我们离成为废物阶级不远了!
- Python数据分析及可视化-招聘网站岗位数据分析
- 移动端H5页面编辑器开发实战--经验技巧篇
- Linux Centos8 安装Minio开机启动并Nginx代理访问
- 2013年9月16日
- JAVA 多用户商城系统b2b2c-Spring Cloud Stream 介绍
- 欧几里得及欧几里得扩展算法
热门文章
- 中科大博士写外挂被抓:涉案总牟利 300 多万,每月分得 4~6k
- 未来互联网最稀缺的能力是什么?
- easypoi中excel注解开关_easypoi: 入,Word模板导出,通过简单的注解和模板 语言(熟悉的表达式语法),完成以前复杂的写法...
- *第二周*数据结构实践项目二【多文件系统】
- 使用CoreTelephony获得SIM卡网络运营商名称
- 130242014029-黄超强-实验一
- IBM Rational Appscan使用之扫描结果分析
- webshell提权20种思路
- 知识管理系统Data Solution研发日记之七 源代码与解决方案
- 易语言-数据类型及其长度