Linq:Select使用示例

一,select简单实用

select作用:select在一个集合序列按照给定的条件进行投影,select可以返回组合的筛选结果,返回匿名类型,对返回结果进行操作,返回组合的子查询结果等等。

select方法的原型如下:

public static IEnumerable<TResult> Select<TSource, TResult>(this IEnumerable<TSource> source, Func<TSource, TResult> selector)

对于select方法的示例:

//select
//1,返回数据源类型的属性
//	from s in T_StuInfo where s.StuNum=="1"
//				select s.StuName

//2,返回数据源类型筛选后的结果
//	from s in T_StuInfo where s.StuNum=="1"
//				select s

//3,新类型
//	from s in T_StuInfo where s.StuNum=="1"
//		select new T_StuInfo {StuNum=s.StuName}

//4,返回匿名类型
//	from s in T_StuInfo where s.StuName=="1"
//		select new{name= s.StuName}

/,5,对返回结果进行操作
//		from s in T_StuInfo where s.StuNum=="1"
//			select s.ToString()
//

对于语句,我们可以在linq pad里面转换成lambda表达式,如下:

二,selectMany

selectMany方法方法可以去除for二重循环的判断select,非常好用。

示例如下:

///SelectMany
//SelectMany原型:
//////public static IEnumerable<TResult> SelectMany<TSource, TResult>(this IEnumerable<TSource> source, Func<TSource, IEnumerable<TResult>> selector)
//string实现了IEnumerable<T>接口,可以构造这样的场景:查询组成学生姓名的所有字符序列。
//	from s in T_StuInfo
//		from name in s.StuName
//			select name

//			T_StuInfo.SelectMany(s=>s.StuName,(s,name)=>name)

小结:

linq语句简化了查询,而且将查询的过程变得可调试,非常方便。

时间: 2024-10-25 17:17:31

Linq:Select使用示例的相关文章

ef linq select where dynamic singleordefault

singleordefault(where) 条件不支持动态 所以想要达到目标,就需要转换思路,把where在前面调用,然后再接,代码如下 public TResult GetSingle<T, TResult>(Expression<Func<T, bool>> exWhere, Expression<Func<T, TResult>> selector) where T : class { using (SysDb<T> db =

LINQ To DataSet 示例

如果在项目遇到这样的问题如:DataTable1和DataTable2需要根据一定的规则进行合并成一个DataTable3. 问题1:DataTable1不是读数据库表的结果,而是合成的数据集,因此无法用SQL语句组合查询. 问题2:DataTable1与DataTable2本身就是非常繁琐的查询且结果集非常大,这样如果DataTable1再与DataTable2 组合查询则很容易发生SQL执行超时. 遇到以上问题,第一个想法就是把两个DataTable,取出放至内存中用嵌套遍历的方式重组得到D

Linq select 语法

文档:https://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b 1.可以对查询出来的结果做一些转换,下面的例子在数组中查找以"B"开头的名字,然后全部转成小写输出 string[] names = { "Jack", "Bob", "Bill", "Catty", "Willam" }; var rs = from n in na

select简单示例,有注释

全部都在代码中: import select import socket import queue """ 简单的select 实现echo server 个人理解: select 编程思想,让select去去判断能不能读或能不能写. 如果能读或能写,select就会告知readable或writeable,这时就得让文件句柄去读或写, 在这里是scoket,recv()或scoket.send()去执行实际的操作 """ server = so

C# — LINQ To XML示例

今天对LINQ To XML的使用进行简单性的测试,代码如下: 第一步:新建一个项目LinqToXMLTest项目,创建一个DealXML.cs文件,加入代码如下: 第二步:运行程序,结果如下: 原文地址:https://www.cnblogs.com/hh8888-log/p/10861961.html

Linq之Join操作

1 摘要 文章通过一个简单的实例对Linq中的Join操作进行演示,并在文章的最后对Join操作相关知识点进行简单的总结. 2 实例演示 1) 新建数据库MyTestDB,在数据库中新建数据表tb_Class和tb_Student,两表的定义如下图所示.                                        图1  tb_Class的定义                                                                    

一步一步学LINQ系列1---什么是LINQ?

一.本系列目标 1.理解LINQ: 2.能写得复杂的LINQ语句(比如:动态查询): 3.理解表达式树及相关概念: 4.熟练运用LINQ写出优美的代码(希望一起努力,最终达到): 二.LINQ为何物?   LINQ之争的销烟已经退去,如今,LINQ已经成为C#开发人必备技术之一.很多人用它写出了优美的代码,它已经成为处理数据的一种全新开发方式,这也许是你选择.NET作为开发平台的福利之一.越来越多的开源库.框架都大量地使用LINQ.不管是出于提高自身技能还是读懂别人的代码,它都得是被你我拿下的一

LINQ(LINQ to Entities)

LINQ to Entities 是 LINQ 中最吸引人的部分.它让你可以使用标准的 C# 对象与数据库的结构和数据打交道.使用 LINQ to Entities 时,LINQ 查询在后台转换为 SQL 查询并在需要数据的时候执行,即开始枚举结果的时候执行.LINQ to Entities 还为你获取的所有数据提供变化追踪,也就是说,可以修改查询获得的对象,然后整批同时把更新提交到数据库. LINQ to Entities 是 Entity Framework 的一部分并且取代 LINQ to

Linq、Lambda表达式详细总结(转)

(一)输入参数 在Lambda表达式中,输入参数是Lambda运算符的 左边部分.它包含参数的数量可以为0.1或者多个.只有当输入参数为1时,Lambda表达式左边的一对小括弧才可以省略.输入参数的数量大于或者等于2 时,Lambda表达式左边的一对小括弧中的多个参数质检使用逗号(,)分割. 示例1 下面创建一个Lambda表达式,它的输入参数的数量为0.该表达式将显示“This is a Lambda expression”字符串. [csharp] view plaincopy ()=>Co