罗列清单备查

一、C#2.0

1. Partial class 分部类

file1.cs

  1. using System;
  2. public partial class MyClass
  3. {
  4. public void MyMethod1()
  5. {
  6. Console.WriteLine("MyMethod1 人工编写的代码");
  7. }
  8. }

file2.cs

  1. using System;
  2. public partial class MyClass
  3. {
  4. public void MyMethod2()
  5. {
  6. Console.WriteLine("MyMethod2 通常是自动生成的代码,如webService 之类");
  7. }
  8. }

编译:

  1. csc /out:lib.dll /t:library file1.cs file2.cs
  2. csc /out:App.exe /r:lib.dll app.cs

2. Generics 泛型

3.  Static classes 静态类

静态类中不能有实例方法,没有实例构造器,可以有静态构造器,功能类似于面向过程语言中 Module(模块)的功能

  1. using System;
  2. public static class UtilityClass
  3. {
  4. public static void Foo()
  5. {
  6. Console.WriteLine("Hello");
  7. }
  8. }
  1. using System;
  2. class App
  3. {
  4. static void Main()
  5. {
  6. UtilityClass.Foo();
  7. }
  8. }

可以看出静态类是没有实例构造器的

非静态类是有实例构造器的

4. iterator 迭代器

5. Anomymous Methods 匿名方法

6. Nullable types 可空类型

7. ?? 操作符

  1. object nullObj = null;
  2. object obj = new Object();
  3. return nullObj ?? obj; // returns obj

二、 C# 3.0

1. LINQ(language-integrated query)

2. Object initializers 对象初始化器

3. Colletion initializers 集合初始化器

4. Anomymous types 匿名类型 (var)

5. Lambda expressions Lambda 表达式

6. Automatic properties 自动完成属性

7. Extension methods 扩展方法

三、 C# 4.0

1. Optional parameters and named arguments 可选参数和命名参数

四、参考资料

C# 2.0: MSDN   Wikipedia

C# 3.0: MSDN   Wikipedia

C# 4.0: MSDN   Wikipedia   What's New On C# 4.0

2015-1-2 补充一幅 C#演化图

未完

C#2.0至4.0 的一些特性的更多相关文章

  1. 创建或打开解决方案时提示"DotNetCore.1.0.1-SDK.1.0.0.Preview2-003131-x86"错误的解决方案

    提示"DotNetCore.1.0.1-SDK.1.0.0.Preview2-003131-x86"错误的解决方案: 1.检查是否有C:\Program Files (x86)\d ...

  2. Android requires compiler compliance level 5.0 or 6.0. Found '1.4' instead的解决办法

    今天在导入工程进Eclipse的时候竟然出错了,控制台输出的是: [2013-02-04 22:17:13 - takepicture] Android requires compiler compl ...

  3. 字符串数组初始化0 与memset 0 效率的分析

    转自:http://www.xuebuyuan.com/1722207.html 结合http://blog.sina.com.cn/s/blog_59d470310100gov8.html来看. 最 ...

  4. bootstrap2.0与3.0的区别

    在阅读这篇bootstrap2.0与3.0的区别的文章之前,大家一定要先了解什么是响应式网站设计?推荐大家看看这篇"教你快速了解响应式网站设计" . 我觉得bootstrap的可视 ...

  5. centos7.2环境elasticsearch-5.0.1+kibana-5.0.1+zookeeper3.4.6+kafka_2.9.2-0.8.2.1部署详解

    centos7.2环境elasticsearch-5.0.1+kibana-5.0.1+zookeeper3.4.6+kafka_2.9.2-0.8.2.1部署详解 环境准备: 操作系统:centos ...

  6. ASP.Net MVC3安全升级导致程序集从3.0.0.0变为3.0.0.1

    开发环境一般引用的是本机 C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies下的System.Web.Mvc.dll,当 ...

  7. R语言中的logical(0)和numeric(0)以及赋值问题

    logical(0) 不等于 numeric(0).两者都不等于NULL值,即is.null(logical(0))和is.null(numeric(0))返还值都是FALSE.这很有意思,说明长度为 ...

  8. atitit.Servlet2.5 Servlet 3.0 新特性 jsp2.0 jsp2.1 jsp2.2新特性

    atitit.Servlet2.5 Servlet 3.0 新特性 jsp2.0 jsp2.1 jsp2.2新特性   1.1. Servlet和JSP规范版本对应关系:1 1.2. Servlet2 ...

  9. Android requires compiler compliance level 5.0 or 6.0. Found '1.8' instead. Please use Android Tools>Fix project Properties.

    重装操作系统之后,或者破坏了Android的开发环境之后,需要重新配置好Android的开发环境.但是配置好后,导入原有的项目时,报错: Android requires compiler compl ...

  10. Windows 8(虚拟机环境)安装.NET Framework3.5(includes .NET 2.0 and 3.0)

    按照这篇文章:http://blogs.technet.com/b/aviraj/archive/2012/08/04/windows-8-enable-net-framework-3-5-inclu ...

随机推荐

  1. 解决Mac下Sequel Pro 1.1 连接 Homebrew安装Mysql5.7.8的问题 Sequel Pro 1.1 encountered an unexpected error

    解决Mac下Sequel Pro 1.1 连接 Homebrew安装Mysql5.7.8的问题 Sequel Pro encountered an unexpected error Sequel Pr ...

  2. 【JS】Beginner9:Arrays

    1.Lists of any kind of data 2.Index to retreve an element from the array 0 3.[] .length; .pop()/push ...

  3. jsp网站与discuz论坛用户同步

    需求分析: 要想实现A(jsp网站)和B(discuz论坛)的同步,这里说的同步指的是 在AB网站任意一方注册之后在另一方都可以直接登录 AB两网站之间的用户登陆状态是同步的,在任意一方登录后,另一方 ...

  4. 动态规划之HDU水题

    做水题的感觉真好系列 HDU 2084 数塔 1: 12: 1 23: 1 2 34: 1 2 3 45: 1 2 3 4 5 dp[i][j]第i行第j个数取得的最大值dp[i][j] = max( ...

  5. Redis_php 学习

    转载内容: PhpRedis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系很有用;以下是redis官方提供的命令使用技巧: Redis::__construct构造函数 1 ...

  6. C#和C++中的float类型

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:C#和C++中的float类型.

  7. java初学的几个问题

    1. 请问配置JDK时环境变量path和JAVA_HOME的作用是什么? 作用:告诉操作系统编译器运行的路径和生成的类路径.这样java源程序才可以进行编译和运行. 以下4-7题请在JDK环境下编译和 ...

  8. C++ 运行时类型识别 知道实例父类类型,显示出子类类型

    typeid(nets_[i]).name() 其中的nets_[i]是一个对象

  9. 后台JOB&EVENT JOB

    SM35执行一个后台作业后,想及时停止, 运行SM37后,点击ctr + F1停止活动的作业,系统根本就没反应. 解决方法: 第一步:SM50, 找到,Ty.列为BGD的(Background),然后 ...

  10. BAPI

    MM模块 1. BAPI_MATERIAL_SAVEDATA 创建物料主数据 注意参数EXTENSIONIN的使用,可以创建自定义字段 例如:WA_BAPI_TE_MARA-MATERIAL = IT ...