• [转载](你必须知道的.net)


    首先感谢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#语言机制构造一种全新的编程结构,实现了对类型抽象化的通用处理方式,这就是算法重用。

    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的重头戏主要着眼在以下几个方面:

    • 动态编程
    • 并行计算
    • 后期绑定
    • 协变与逆变

     


  • 相关阅读:
    后端PHP框架laravel学习踩的各种坑
    IE6、IE7兼容querySelectorAll和querySelector方法-最终版本
    package.json保存
    原生javascript兼容性总结
    原生javascript代码懒加载
    禁止选择文本样式
    xml转实体类的实现
    kendo ui editor 文本编辑器 自定义高度的实现
    setTimeout执行时带参数,并且带的是object对象类型的参数
    KendoUi listview template的用法记录
  • 原文地址:https://www.cnblogs.com/9421/p/1635064.html
Copyright © 2020-2023  润新知