LINQ操作符一:Select
一、什么是LINQ?它可以用来做什么
语言集成查询(Language Integrated Query,LINQ)是一系列标准查询操作符的集合,这些操作符几乎对每一种数据源的导航、过滤和执行操作都提供了底层的基本查询架构。
LINQ可查询的数据源包括XML(可使用LINQ TO XML)、关系数据(使用LINQ TO SQL,及先前的DLINQ)、ADO.NET DataSet(使用LINQ TO DataSet),以及内存中的数据。
二、投影操作符:Select
Select操作符对单个序列或集合中的值进行投影。所谓投影,比如有一个数据集,想用LINQ语法去操作数据集,会写一个LINQ的表达式,表达式会把数据集合中的数
据简单的投影到一个变量中,并且可以通过这个变量去筛选数据。
示例:
Employees类
public class Employees { public Guid Id { get; set; } public string Name { get; set; } public int Sex { get; set; } public string CompanyName { get; set; } }
class Program { static void Main(string[] args) { //使用集合初始化器给集合赋值 List<Employees> emp = new List<Employees> { new Employees(){Id=Guid.NewGuid(),Name="张三",Sex=0,CompanyName="xx技术有限公司"}, new Employees(){Id=Guid.NewGuid(),Name="李四",Sex=0,CompanyName="xx培训"}, new Employees(){Id=Guid.NewGuid(),Name="王五",Sex=0,CompanyName="xx集团"} }; //查询语法:不能省略最后的select var query = (from p in emp where p.Name.StartsWith("王") select p).FirstOrDefault(); //查询方法:设计到Lambda表达式,全部返回 可以省略最后的select 延迟加载 var query1 = emp.Where(p => p.Name.StartsWith("王")).Select(e => new { e.Name,e.CompanyName}); //查询方法:返回匿名类 var query2 = emp.Where(p => p.Name.StartsWith("王")).Select(p => p); foreach (var item in query1) { Console.WriteLine(item.Name); } Console.ReadKey(); } }
分类:
LINQ
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决