- C# 3.0 - var 隐式类型声明
- C# 3.0 -自动属性实现
- C# 3.0 -对象初始化设置
- C# 3.0 -集合初始化设置
- C# 3.0 -匿名类型
- C# 3.0 -扩展方法
- C# 3.0 - partial 分部(类型)
- C# 3.0 - Lambda
- C# 3.0 - { get; set; } 默认值
- C# 3.0 - { get; set; } 默认值 2
- C# 3.0 - yield
.NET Framework 3.5 的 CLR 引擎是 2.0 版本,但使用的 C# 语言是 3.0 版本。C# 3.0 有一些新特性,现快捷介绍一遍。注意 Windows 2000 环境中无法安装 .NET Framework 3.5。
var m = 1;
var arr = new[] {1, 2, 3};
如上代码,这里的 var 和 JavaScript 中的 var 是一个意思,但和 JavaScript 是有区别的,如下:
var m = 1;
m = "abc";
在 JavaScript 中,上述代码是正确的,但在 C# 里面,第二句则会报错:无法将类型“string”隐式转换为“int”。也就是说 C# 虽然可以用 var 隐式类型声明一个变量,但声明之后,该变量的类型就确定(系统去推断是什么类型)了,不可再更改,而 JavaScript 是随便可以更改的。
用 var 是不是 C# 在倒退呢?我觉得不是,如上所说,var 声明变量之后,变量类型就确定下来了,不会再变,这和 JavaScript 有本质区别。另外在用到 LINQ 时,用 var 很方便。
var person = from p in persons
select new {p.Name, p.Age}
- C# 3.0 - var 隐式类型声明
- C# 3.0 -自动属性实现
- C# 3.0 -对象初始化设置
- C# 3.0 -集合初始化设置
- C# 3.0 -匿名类型
- C# 3.0 -扩展方法
- C# 3.0 - partial 分部(类型)
- C# 3.0 - Lambda
- C# 3.0 - { get; set; } 默认值
- C# 3.0 - { get; set; } 默认值 2
- C# 3.0 - yield