C# 2.0 语言改进
来源:互联网 发布:linux下eclipse快捷键 编辑:程序博客网 时间:2024/05/17 00:56
C# 2.0 语言改进
1. 支持分部类——Parital关键字。
可以将类、结构或接口的定义拆分到两个或多个源文件中。
2. 迭代器——yield关键字
yield返回IEnumberable接口对象,使其可以支持foreach迭代。
yeild return用于返回值,yeild break用于中断迭代。
迭代器的返回类型必须为IEnumerable、IEnumerator、IEnumerable<T>或IEnumerator<T>。
如:
...{
public static IEnumerable Power(int number, int exponent)
...{
int counter = 0;
int result = 1;
while (counter++ < exponent)
...{
result = result * number;
yield return result;
}
}
}
3. 可空类型——Nullable关键字
System.Nullable<T>,用于表示某个类型 + null值的表示。
简写型为:类型?。
如:
System.Nullable<int> i = null;
int? i = null;
Nullable包含方法:
HasValue:返回是否包含某个值。
Value:返回当前值。
GetValueOrDefault:返回当前值或者默认值(无值时)。
使用期“??”运算符指定在取值时的默认值。如:
int? i = null;
int y = x ?? -1; //如果x为空则返回-1
可空类型不允许嵌套。
4. 匿名方法
如:
this.Load += delegate(System.Object o, System.EventArgs e){MessageBox.Show("Form1_Load");}
如:
...{
System.Threading.Thread t1 = new System.Threading.Thread(delegate()
...{
System.Console.Write("Hello, ");
System.Console.WriteLine("World!");
});
t1.Start();
}
5. 属性访问器
DotNet2.0中可以将get与set设写不同的访问性。
方法是属性(或索引器)本身具有修饰符,然后在get与set中的某一个上另设一个修饰符。另设的修饰符必须必属性本身修饰符更加严格。
6. 命名空间别名限定符——“::”
如:
using colAlias = System.Collections;
colAlias::Hashtable test = new colAlias::Hashtable();
另外,新增global关键字代表系统全局命名空间限定符,如:
global::System.Console.WriteLine....
- C# 2.0 语言改进
- C# 3.0 新语言特性和改进
- C# 3.0新语言特性和改进
- C# 4.0新语言特性和改进
- C#入门经典学习14-C#语言的改进
- LINQ体验---C# 3.0新语言特性和改进
- C# 3.0新语言特性和改进(上篇)_1800
- C# 2.0对现有语法的改进
- C# 2.0对现有语法的改进
- C# 2.0对现有语法的改进
- c# singleton 的改进
- C# ThreadPool 的改进
- [转]LINQ体验(2)——C# 3.0新语言特性和改进(上篇)
- [转]LINQ体验(3)——C# 3.0新语言特性和改进(下篇)
- LINQ体验(2)——C# 3.0新语言特性和改进(上篇)
- LINQ体验(3)——C# 3.0新语言特性和改进(下篇)
- LINQ体验(2)——C# 3.0新语言特性和改进(上篇)
- LINQ体验(3)——C# 3.0新语言特性和改进(下篇)
- eclipse无法build project 编译项目或者类的解决方法
- 关于文件下载的几个问题总结
- 进入csdn的原因
- 创建JSP自定义标签
- GROUP BY 和 HAVING
- C# 2.0 语言改进
- struts标签之html手册
- JSP PageContext
- JJhou关于虚函数与多态的三个结论
- 文本域里字体颜色问题
- C#調用命令
- C# 定制自己的datagrid 增加checkbox, combobox
- 字符,字节和编码
- 写了几个类,希望对大家有用