[转载](你必须知道的.net)
2009-12-29 14:40
260 查看
首先感谢anytao http://www.cnblogs.com/anytao/
以下是一些零碎的copy,期望没能侵权!
1. C#诞生之初兼取百家之长,具体都有哪些优秀品质呢,总结起来主要体现在两个方面包括:
面向对象编程。C#实现对属性、事件、委托、方法、索引器、构造器的全面支持,为面向对象的封装、继承、多态和接口提供了语言级别的支持。以继承为例,c#支持单实现继承和多接口继承,摒弃了C++中多继承带来的复杂性。
跨平台运行时支持。CLR是.NET平台下应用程序的通用语言运行时,是C#程序赖以生存的跨平台环境,因此C#具有了.NET平台语言的所有优势,通用类型系统、自动内存管理、统一异常处理、完全的FCL访问权,都成为C#无与伦比的优势所在。
2.C# 2.0是一次完善和补充,也是一次变革与重生。在2.0中引入了诸多的语言特性,完善了1.0基础上的某些不足,例如匿名方法将代码放在委托而无需创建新 的方法;可空类型实现了对值类型的null操作;而部分类将一个类分解到多个类文件中。这些补充和完善, 总结起来主要包括: 匿名方法
可空类型
部分类
迭代器
泛型
其中,泛型支持是C# 2.0的重中之重,.NET框架从CLR级别实现了对泛型的支持,提供专门的IL指令支持泛型操作,同时配合C#语言机制构造一种全新的编程结构,实现了对类型抽象化的通用处理方式,这就是算法重用。
3.C# 3.0是语言发展历史上的里程碑变革,就像凤凰涅槃一般为C#语言注入强大编程体验和活力,简洁、干净、富有意义,这些特性中主要包括: 匿名类型
自动属性
对象初始化器
集合初始化器
隐式类型变量和隐式类型数组
扩展方法
查询表达式
除此之外,C# 3.0的最大亮点就是LINQ(Language Integrated Query,语言集成查询),在CLR中集成类似于SQL式的数据查询能力,一种前所未有的函数式编程体验在面向对象语言中得以大展拳脚,这不得不说是C#带来的超酷体验。
以下是一些零碎的copy,期望没能侵权!
1. C#诞生之初兼取百家之长,具体都有哪些优秀品质呢,总结起来主要体现在两个方面包括:
面向对象编程。C#实现对属性、事件、委托、方法、索引器、构造器的全面支持,为面向对象的封装、继承、多态和接口提供了语言级别的支持。以继承为例,c#支持单实现继承和多接口继承,摒弃了C++中多继承带来的复杂性。
跨平台运行时支持。CLR是.NET平台下应用程序的通用语言运行时,是C#程序赖以生存的跨平台环境,因此C#具有了.NET平台语言的所有优势,通用类型系统、自动内存管理、统一异常处理、完全的FCL访问权,都成为C#无与伦比的优势所在。
2.C# 2.0是一次完善和补充,也是一次变革与重生。在2.0中引入了诸多的语言特性,完善了1.0基础上的某些不足,例如匿名方法将代码放在委托而无需创建新 的方法;可空类型实现了对值类型的null操作;而部分类将一个类分解到多个类文件中。这些补充和完善, 总结起来主要包括: 匿名方法
可空类型
部分类
迭代器
泛型
其中,泛型支持是C# 2.0的重中之重,.NET框架从CLR级别实现了对泛型的支持,提供专门的IL指令支持泛型操作,同时配合C#语言机制构造一种全新的编程结构,实现了对类型抽象化的通用处理方式,这就是算法重用。
public static void Swap<T>(ref T t1, ref T t2) { T temp = t1; t1 = t2; t2 = temp; }对于不同的类型,在运行时以实际类型对T占位符进行替换,并转换为本地代码,彻底实现了灵活的类型抽象和算法重用。同时,除了代码级别的重用好处,泛型解决了类型转换、装箱与拆箱、类型安全等诸多问题,为程序设计带来巨大的变革。
3.C# 3.0是语言发展历史上的里程碑变革,就像凤凰涅槃一般为C#语言注入强大编程体验和活力,简洁、干净、富有意义,这些特性中主要包括: 匿名类型
自动属性
对象初始化器
集合初始化器
隐式类型变量和隐式类型数组
扩展方法
查询表达式
除此之外,C# 3.0的最大亮点就是LINQ(Language Integrated Query,语言集成查询),在CLR中集成类似于SQL式的数据查询能力,一种前所未有的函数式编程体验在面向对象语言中得以大展拳脚,这不得不说是C#带来的超酷体验。
public static void Main() { List<User> users = new List<User> { new User{Name = "小王", Age = 27}, new User{Name = "小张", Age = 29}, new User{Name = "小李", Age = 23} }; IEnumerable<User> result = from user in users where user.Age < 30 orderby user.Age descending select user; foreach (var user in result) { //执行操作 } } 无论如何,.NET4.0已经在叩开新年的大门之时,以高调的姿态迎来一片掌声。广大的技术爱好者不会等待太长的时间,就能感受C#发展中的又一次变革。随着.NET 4.0在2009年的发布,我们对于C# 4.0的关注也将与日俱增。总体而言,C# 4.0的重头戏主要着眼在以下几个方面: 动态编程 并行计算 后期绑定 协变与逆变
相关文章推荐
- [你必须知道的.NET] 第三回:历史纠葛:特性和属性(转载)
- [Anytao.NET] 必须知道的设计模式(转载)
- 【转载】 [你必须知道的.NET]目录导航
- [你必须知道的.NET] 第四回:后来居上:class和struct (转载)
- [你必须知道的.NET] 第五回:深入浅出关键字---把new说透(转载)
- [你必须知道的.NET] 第六回:深入浅出关键字---base和this (转载)
- 转载--你必须知道的.NET
- [你必须知道的.NET] 第七回:品味类型---从通用类型系统开始(转载)
- [你必须知道的.NET] 开篇有益(转载)
- [你必须知道的.NET] 第八回:品味类型---值类型与引用类型(上)-内存有理(转载)
- [你必须知道的.NET] 第一回:恩怨情仇:is和as (转载)
- 【转载】ASP.NET MVC中你必须知道的13个扩展点
- [你必须知道的.NET] 第二回:对抽象编程:接口和抽象类(转载)
- 你必须知道的.net
- [你必须知道的.NET]第二十九回:.NET十年(上)
- 你必须知道的ADO.NET(一) 初识ADO.NET
- 你必须知道的ADO.NET(六) 谈谈Command对象与数据检索
- 你必须知道的.NET之恩怨情仇:is和as
- 程序员必须知道的十大基础实用算法及其讲解(转载)
- 学习ASP.NET Core,你必须知道“中间件”是什么?中间件如何注册?请求处理管道是如何通过中间件构建的?