对于集合中的扩展方法Select和Where的练习
来源:互联网 发布:关系数据库种类 编辑:程序博客网 时间:2024/06/05 02:56
代码:
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Lamda_Test{ class Program { static void Main(string[] args) { string[] intArray = new string[] { "test1", "test2", "test3", "test4", "test5", "test6", "test6", "test8" }; Console.WriteLine("-->初始化数组中元素个数为:{0}\n", intArray.Length); var values1 = intArray.Where(model => model.EndsWith("4")).Select((model) => { if (model.Contains("e")) return model; return String.Empty; }); Console.WriteLine("-->[Where和Select]组合执行后-->返回的集合中的元素数为 {0}:\n", values1.Count()); foreach (var str in values1) { Console.WriteLine("-->[Where和Select]组合执行后-->获取到的结果字符串:" + str); } Console.WriteLine("\n----------=========华丽的分割线=========----------\n"); var values2 = intArray.Select(model => model.EndsWith("2") ? model : "不是以“2”结束"); Console.WriteLine("-->单独的[Select]执行后-->返回的集合中的元素数为 {0}:\n", values2.Count()); foreach (var str in values2) { Console.WriteLine("-->单独的[Select]执行后-->获取到的测试结果:" + str); } Console.ReadKey(); } }}
执行结果截图:
Where 返回的是一个符合匹配的结合(经过过滤的),
Select 返回的也是经过匹配的集合,不过原始集合有多少元素,返回的集合就有多少元素,当然返回的集合的类型是自己定义的
为什么呢?从MSDN上没找到说明,我也只能去猜了
下面接了几个VS的智能提示:
不太清楚哈
说明Where的返回值只能是boolen
Select返回的可以使自己指定的类型。
- 对于集合中的扩展方法Select和Where的练习
- 对于sql语句中的select处理和where处理
- System.Linq.Enumerable类中的两个where方法都是对于IEnumerable的扩展方法,那LINQ是如何支持Array的
- 扩展方法Where的实现示意
- Lambda表达式select()和where()的区别
- IEnumerable.Select和where
- sql中的“select from 1” 和“where 1=1”
- 对于java中的集合的排序
- MyBatis中的<where>标签和where子句的区别
- LINQ 的select 和where 查询语句总结
- 对于TreeSet中的compareTo()和equals()方法
- 集合(对于集合学习后的个人总结和分析)
- 集合扩展方法、委托的运算、事件
- 5、SQL Server Select中的Where条件
- javascript中的startWith和endWith的原型扩展方法
- SELECT * FROM TABLE 和 SELECT * FROM TABLE WHERE NAME LIKE '%%' 的检索结果为何不同?
- jquery中对于select框的取值和赋值
- 对于集合的选择
- http://www.haogongju.net/art/578426
- servlet 路径的问题。
- 加载其他的dll编译后找不到的情况
- 决策树详解
- socket
- 对于集合中的扩展方法Select和Where的练习
- Android: NDK编程入门笔记
- 各种排序算法及其java程序实现
- 一个简单的JAVA网络通信 UDP 单工方式
- 究竟怎么开机的,Windows启动顺序详解
- 存储过程 添加数据
- C++ 回忆录5 对象的构造方法
- 大话设计模式-总结(1)-创建型设计模式
- shell排序法的C++实现