- 1
- 0
- 约9.89千字
- 约 33页
- 2015-12-13 发布于广东
- 举报
在小册子 * * 第14章 语言集成查询——LINQ 本章要点: LINQ实现的基础 LINQ概述 LINQ 和泛型 LINQ查询步骤 LINQ查询语句 LINQ和数据库操作 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: 14.1 LINQ实现的基础 .NET Frameword3.5中,新增加了一种数据类型var,var被称为隐式类型,该关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型、.NET Framework类库中定义的类型或任何表达式。 var i = 5; //定义了变量i被当做一个整数 var s = “Hello”; //定义的变量s被当做字符串 var a = new[] { 0, 1, 2 };//定义了一个变量a,为数组变量 //定义了一个匿名类型的变量 var anon = new { Name = “Terry”, Age = 34}; var list = new Listint();//定义了一个List类型的变量 14.1.1 隐式类型变量 14.1 LINQ实现的基础 var关键字可以用在下列场合: 1. 在定义局部变量中使用 2. 在初始化for循环中计数器的起始值时使用 3. 在初始化foreach语句中的接收器对象中使用 4. 在using语句中使用 使用var隐式类型的变量声明时需要遵守一些基本规则 1. 只有在同一语句中声明和初始化局部变量时才能使用var 2. 不能将该变量初始化为null 3. 不能将var用于类的字段 4. 由var声明的变量不能用在初始化表达式中 5. 不能在同一语句中初始化多个隐式类型的变量 14.1.1 隐式类型变量 14.1 LINQ实现的基础 匿名类型是从对象初始化器自动推断和生成的元组类型。可以在不声明一个类型的情况下而直接声明一个对象,因为只要利用初始化器指明的对象属性就可以来推断这个对象的类型。匿名类型只要使用没有类型名字的new表达式,并通过对象初始化器进行初始化即可。 var p = new {X = 1,Y = 2} 以上代码中并不存在对象p的这样一种类型,但却直接声明了该对象,并通过初始化器{X = 1,Y = 2}对该对象进行初始化,这就是匿名类型。 14.1.2 匿名类型 14.1 LINQ实现的基础 var b1 = new { Name = The First Sample Book, Price = 88.0f }; var b2 = new { Price = 25.0f, Name = The Second Sample Book }; var b3 = new { Name = The Third Sample Book, Price = 35.00f }; Console.WriteLine(b1.GetType()); Console.WriteLine(b2.GetType()); Console.WriteLine(b3.GetType()); 前面三行声明并初始化了三个具有匿名类型的对象,它们都将具有公共可读写属性Name和Price。我们可以看到,匿名类型的属性连类型都省掉了,完全是由编译器根据相应属性的初始化表达式推断出来的。 14.1 LINQ实现的基础 Lambda表达式是一种简洁的内联(in-line)函数,它提供了一个非常紧凑而且类型安全的方式来编写函数,该函数可以当做参数来传递并在以后进行运算。这种简洁的特性在编写LINQ查询表达式时极其有用。 一个Lambda表达式的语法: 参数列表 “=”符号 调用时要运算的表达式或语句块 params = expression 其中params是参数列表,expression为表达式或语句块。 14.1.3 Lambda表达式 14.1 LINQ实现的基础 利用委托方法来搜索字符串数组中包含字符b的字符串数组 string[] list = new string []{“abc”,”abed”,”hebe”}; string[] list1 = Array.FindAll(list, delegate(string s){ //使用委托方法
您可能关注的文档
- Verilog HDL数字系统设计——原理、实例及仿真 作者 康磊 第8-13章 第10章.ppt
- Verilog HDL数字系统设计——原理、实例及仿真 作者 康磊 第8-13章 第11章.ppt
- Verilog HDL数字系统设计——原理、实例及仿真 作者 康磊 第8-13章 第12章.ppt
- Verilog HDL数字系统设计——原理、实例及仿真 作者 康磊 第8-13章 第13章.ppt
- VFP程序设计简明教程 作者 鲁俊生 第1-6章 第2章 常量、变量、表达式及函数.ppt
- VFP程序设计简明教程 作者 鲁俊生 第1-6章 第3章 表的基本操作.ppt
- VFP程序设计简明教程 作者 鲁俊生 第1-6章 第4章 程序设计基础.ppt
- VFP程序设计简明教程 作者 鲁俊生 第1-6章 第5章 面向对象程序设计基础.ppt
- VFP程序设计简明教程 作者 鲁俊生 第7-10章 第8章 设计完美的报表和标签.ppt
- VFP程序设计简明教程 作者 鲁俊生 第7-10章 第10章 项目管理器.ppt
- GB/T 42818.2-2026认知无障碍 第2部分:报告.pdf
- 中国国家标准 GB/T 47116-2026地下采矿机械 工作面移动式采掘机械 采煤机和犁式系统的安全要求.pdf
- 《GB/T 47116-2026地下采矿机械 工作面移动式采掘机械 采煤机和犁式系统的安全要求》.pdf
- 中国国家标准 GB/T 42818.2-2026认知无障碍 第2部分:报告.pdf
- 《GB/T 42818.2-2026认知无障碍 第2部分:报告》.pdf
- 《GB/T 27664.1-2026无损检测仪器 超声检测设备的性能与检验 第1部分:仪器》.pdf
- 中国国家标准 GB/T 27664.1-2026无损检测仪器 超声检测设备的性能与检验 第1部分:仪器.pdf
- GB/T 27664.1-2026无损检测仪器 超声检测设备的性能与检验 第1部分:仪器.pdf
- GB/T 45305.5-2026声学 建筑构件隔声的实验室测量 第5部分:测试设施和设备的要求.pdf
- 中国国家标准 GB/T 45305.5-2026声学 建筑构件隔声的实验室测量 第5部分:测试设施和设备的要求.pdf
最近下载
- 高等机构学01螺旋理论基础讲义.ppt
- 基于plc的清洗消毒机控制系统设计 .pdf VIP
- 发明专利说明书范例.pdf VIP
- 人教版英语中考九年级话题复习中国传统节日Chinesetraditionalfestivals教学设计.docx VIP
- 四年级道德与法治下册第一单元单元整体教学设计.pdf VIP
- 进修汇报医生课件课件.pptx VIP
- 03G102钢结构设计制图深度和表示方法(高清版) (OCR).pdf VIP
- 基于三菱PLC的自动洗碗机控制系统设计.doc VIP
- 下肢深静脉血栓形成介入治疗护理实践指南(2025)解读PPT课件.pptx VIP
- 南京新港东区建设发展有限公司南京龙潭新城花园路等13条道路及花园河等4条河道工程项目环评报告表(报批稿).pdf VIP
原创力文档

文档评论(0)