Visual C# 2008程序设计教程 作者 978-7-302-26232-9 ch14.pptVIP

  • 1
  • 0
  • 约9.89千字
  • 约 33页
  • 2015-12-13 发布于广东
  • 举报

Visual C# 2008程序设计教程 作者 978-7-302-26232-9 ch14.ppt

在小册子 * * 第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){ //使用委托方法

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档