C#2.0至4.0 的一些特性
罗列清单备查
一、C#2.0
1. Partial class 分部类
file1.cs
using System;
public partial class MyClass
{
public void MyMethod1()
{
Console.WriteLine("MyMethod1 人工编写的代码");
}
}
file2.cs
using System;
public partial class MyClass
{
public void MyMethod2()
{
Console.WriteLine("MyMethod2 通常是自动生成的代码,如webService 之类");
}
}
编译:
csc /out:lib.dll /t:library file1.cs file2.cs
csc /out:App.exe /r:lib.dll app.cs
2. Generics 泛型
3. Static classes 静态类
静态类中不能有实例方法,没有实例构造器,可以有静态构造器,功能类似于面向过程语言中 Module(模块)的功能
using System;
public static class UtilityClass
{
public static void Foo()
{
Console.WriteLine("Hello");
}
}
using System;
class App
{
static void Main()
{
UtilityClass.Foo();
}
}
可以看出静态类是没有实例构造器的
非静态类是有实例构造器的
4. iterator 迭代器
5. Anomymous Methods 匿名方法
6. Nullable types 可空类型
7. ?? 操作符
object nullObj = null;
object obj = new Object();
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# 4.0: MSDN Wikipedia What's New On C# 4.0
2015-1-2 补充一幅 C#演化图
未完
C#2.0至4.0 的一些特性的更多相关文章
- 创建或打开解决方案时提示"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 ...
- 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 ...
- 字符串数组初始化0 与memset 0 效率的分析
转自:http://www.xuebuyuan.com/1722207.html 结合http://blog.sina.com.cn/s/blog_59d470310100gov8.html来看. 最 ...
- bootstrap2.0与3.0的区别
在阅读这篇bootstrap2.0与3.0的区别的文章之前,大家一定要先了解什么是响应式网站设计?推荐大家看看这篇"教你快速了解响应式网站设计" . 我觉得bootstrap的可视 ...
- 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 ...
- 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,当 ...
- R语言中的logical(0)和numeric(0)以及赋值问题
logical(0) 不等于 numeric(0).两者都不等于NULL值,即is.null(logical(0))和is.null(numeric(0))返还值都是FALSE.这很有意思,说明长度为 ...
- 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 ...
- 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 ...
- 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 ...
随机推荐
- 【原】SparkContex源码解读(一)
版权声明:本文为原创文章,未经允许不得转载. SparkContext(简称sc)是Spark程序的主入口,代表一个连接到Spark集群(Standalone.YARN.Mesos三种集群部署模式)的 ...
- 关于Windows Azure的常见问题-一般问题FAQ
一般问题 什么是Windows Azure? Windows Azure 是一个灵活而开放的云平台,通过该平台,您可以在数据中心快速生成.部署和管理应用程序.Windows Azure 支持所有主流操 ...
- UILabel文本垂直顶部对齐的方法
也不知道为什么UILabel本身没有提供文本垂直顶部对齐的方法,真的有点晕.我们创建一个简单的UILabel来看看: [box type="info"] UILabel *myLa ...
- Android完美解决输入框EditText隐藏密码打勾显示密码问题
长话短说,一共有两种方法.首先你需要在布局文件里面给EditText设置一个android:inputType="numberPassword"属性.我这里默认规定密码只能是数字了 ...
- Hibernate拦截器(Interceptor)与事件监听器(Listener)
拦截器(Intercept):与Struts2的拦截器机制基本一样,都是一个操作穿过一层层拦截器,每穿过一个拦截器就会触发相应拦截器的事件做预处理或善后处理. 监听器(Listener):其实功能与拦 ...
- 使用ajax代替iframe
相信大多数程序员都跟iframe打过交道,iframe简单,好用.在我用的过程中比较苦逼的是关于iframe高度的设置. 由于子页面内容不确定,页面高度也不确定.于是开始网上的各种搜索,一般有两种:一 ...
- 错误: 找不到或无法加载主类 / Class not found
Java Resources文件上有红色感叹号存在 说明引入jar包存在错误,把引用错误的jar包去掉即可. 右键项目,Properties,Java Build Path,选中jar包remove, ...
- 用Python和FFmpeg查找大码率的视频文件
用Python和FFmpeg查找大码率的视频文件 本文使用Python2.7, 这个工作分两步 遍历目录下的视频文件 用ffprobe获取是视频文件的码率信息 用ffprobe 获取json格式的视频 ...
- hdu2571 命运 动态规划Dp
转载请注明出处:http://blog.csdn.net/u012860063 题目链接:pid=2571" target="_blank">http://acm. ...
- core dump + LINUX 内核系列博客
参考:http://www.cnblogs.com/ahuo/category/72819.html http://blog.csdn.net/tenfyguo/article/details/815 ...