C# LINQ基础-Linq基本使用方法-C/S开发框架
本文主要的是泛谈LINQ是啥?以及常见的用法大纲如下:
LINQ的根基IEnumerable和IEnumerator为啥能够被foreach?实际上,能够被foreach的对象,一定是实现了带有返回值的IEnumerator的GetEnumerator()方法的接口,而.NET内置的该接口则是IEnumerable,一般指的是IEnumerable泛型接口,让我们来看看IEnumerator接口有啥成员:
因此,实际上我们进行foreach的时候,等价于:
输出结果:
而能被LINQ的对象就是一个实现了IEnumerable的可被枚举的集合 LINQ的基本用法扩展方法在LINQ的应用:LINQ的流式语法LINQ的方法一般都是通过扩展方法了扩展的,就如最常用的几个,Where,Any,例如,我实现了一个跟Where功能类似的简化版:
其实为啥会提到用扩展方法呢?就是因为LINQ就是为了简单的能够处理复杂集合的数据,那么扩展方法就能够实现较为简单的链式查询,例如:
输出结果:
LINQ的查询表达式:LINQ的查询语法假如上述的例子有LINQ的查询表达式来编写,则写法是这样:
输出结果也是一样的:
LINQ的延迟执行:IQueryable首先我们来看看IQueryable的接口定义:
我们可以看到实际上
我们先来看段代码:
输出如下:
我们从输出可以证明,实际上在返回result1和result2,就是通过 参考
参考文档:
C/S开发框架教程:使用基础资料(数据字典)的DAL层更新主从表(或多表)数据 C#使用SqlBulkCopy快速导入Excel文件(xls/xlsx)-C/S开发框架 C#使用Newtonsoft.Json.dll解析Json数据-C/S开发框架 C#使用PInvoke.Kernel32加载非托管DLL嵌入资源-C/S开发框架 C#.NET LINQ入门基础-C/S开发框架 C# 实现FTP客户端-C/S开发框架 C# 利用PrintDocument定制打印单据-C/S开发框架 C# 实现截图软件功能-C/S开发框架 图解软件开发-项目管理基础-C/S开发框架 C# SharpMap的简单使用-C/S开发框架 C# 利用ZXing.Net来生成条形码和二维码-C/S开发框架 C# VS自带的Chart图表控件实现实时折线图,波形图-C/S开发框架 C#直接使用DllImport外部Dll的方法-C/S开发框架 C#多线程使用读写锁ReaderWriterLockSlim同步写入文件-C/S开发框架 C# LINQ使用案例参考-C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |