以下为为Asp.net 2008的新特性与新功能介绍。
图1
主要是关注于LINQ——我认为是VS 2008(.NET 3.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中的一些新的语言特性和改进:
C#3.0新特性
C#3.0中新引入的几个特性大多数都仅仅是“编译器技巧”或者“语法糖”,其实编译器生成的IL中间代码和原来的是一样的,这样他们就独立于framework和CLR运行时。但是,他们确实需要某些framework的支持,比如System.Core.dll程序集。这就是为什么扩展方法仍然需要依靠于System.Core.dll里包含的System.Runtime.CompilerServices.ExtensionAttribute。
另一方面,查询表达式只是实现了到扩展方法的映射,它包含在System.Linq, System.Data.Linq和System.Xml.Linq命名空间中。
属性:
|
可以写为:
public class Point { |
局部变量类型:
var num = 50; |
编译器会生成IL中间代码,就如同我们编译了下面的代码:
|
对象初始化和集合初始化:
Point p = new Point(); |
现在,使用对象初始化,就可以像这样子来重写:
Point p = new Point() { X = 0, Y = 0 }; |
这个特性也可以使用在集合上,看看下面这段示例:
List points = new List { |
查询语法查询表达式提供了一个语言集成的语法来查询,它特别像关系和层次查询语言比如SQL和XQuery。使用LINQ操作符(也就是from...where...select)写查询很方便,Visual Studio为它提供了很好的智能感知和编译时的检查支持。当C#编译器遇到了一个查询语法表达式时,实际上它会被转化为使用扩展方法和Lambda表达式的方法调用。
我们举一个例子来解释这个:
|
|
使用查询语法的好处还有它会使代码更简单更易读。同时注意,查询表达式以from开头,以select或者group结尾。
总结
C#3.0中新引入的几个特性大多数都仅仅是“编译器技巧”或者“语法糖”,其实编译器生成的IL中间代码和原来的是一样的,这样他们就独立于framework和CLR运行时。但是,他们确实需要某些framework的支持,比如System.Core.dll程序集。这就是为什么扩展方法仍然需要依靠于System.Core.dll里包含的System.Runtime.CompilerServices.ExtensionAttribute。
另一方面,查询表达式只是实现了到扩展方法的映射,它包含在System.Linq, System.Data.Linq和System.Xml.Linq命名空间中。
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛