• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

C#3.0与LINQ新特性简介

发布: 2008-5-07 13:44 | 作者: 网络转载 | 来源: 本站原创 | 查看: 147次 | 进入软件测试论坛讨论

领测软件测试网 简介

  本文主要是关注于LINQ——我认为是VS2008(.NET3.5)中最令人兴奋的特性。LINQ使查询成为了.NET中头等的编程概念,被查询的数据可以是XML(LINQ to XML)、Databases(LINQ to SQL、LINQ to Dataset、LINQ to Entities)和对象(LINQ to Objects)。LINQ也是可扩展的,允许你建立自定义的LINQ数据提供者(比如:LINQ to Amazon、LINQ to NHibernate、LINQ to LDAP)。

  在这里我会讨论C#3.0中的一些新的语言特性和改进,正是它们使得LINQ变得如此强大,让你可以写出这样的代码:
var result = from c in Customers where c.City == Boston" orderby c.LastName descending select new { c.FirstName, c.LastName, c.Address };
  记住,如果你想要使用LINQ,你需要安装Visual Studio 2008(.NET3.5)。
 
  新的语言特性

  I/ 自动属性
public class Point { private int _x, _y; public int X { get { return _x; } set { _x = value; } } public int Y { get { return _y; } set { _y = value; } } }
  上面的代码简单的定义了一个拥有两个属性的类。现在,使用VS2008中的C#编译器,我们就可以用自动属性写的更简单,它能自动的生成带有get/set操作的私有域。
public class Point { public int X { get; set; } public int Y { get; set; } }
  上面的代码可读性更好并且简洁。
  (这个特性和LINQ还没有关系)

  II/ 局部变量类型

  使用这个特性,声明一个局部变量,它的具体类型是通过初始化表达式来推断。这点是通过var关键词完成的(这个使用脚本语言的人应该很熟悉,但它们实际上是有很大区别的)。我们可以写出如下的代码:
var num = 50; var str = "simple string"; var obj = new myType(); var numbers = new int[] {1,2,3}; var dic = new Dictionary<int,myType>();
  编译器会生成IL中间代码,就如同我们编译了下面的代码:
int num = 50; string str = "simple string"; myType obj = new myType(); int[] numbers = new int[] {1,2,3}; Dictionary<int,myType> dic = new Dictionary<int,myType>();
  注意,这里并不存在无类型的变量,也没有推迟类型的绑定。编译器是从右边的赋值语句来自动推断和声明变量的类型的,var关键词是一个强类型的变量引用。
  III/ 对象初始化和集合初始化

  我们继续使用上面的Point类。假设我们想要这个类的一个实例,我们会建立对象并设置它的属性,代码会是这样子的:
Point p = new Point(); p.X = 0; p.Y = 0;

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: LINQ 简介 特性

21/212>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网