站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
C♯ 2.0 的特性
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
<span style="text-align:center;border:1px solid #000;padding:5px;float:right;"><strong>导航:</strong>[[C♯#C♯ 2.0 的特性|上一页]]|{{Template:程序设计语言}}</span> <div style="clear:both;"></div> 针对于[[.NET]] SDK 2.0(相对应于ECMA-334 标准第三版),C# 的新特性有: ==分部类== 分部类将类型的实现分在多个文件中。 它允许切分非常大的类,并且如果类的一部分是自动生成的方面也很有用处。 <pre>file1.cs: public partial class MyClass { public void MyMethod1() { // implementation } } file2.cs: public partial class MyClass { public void MyMethod2() { // implementation } }</pre> ==泛型== 泛型, 或参数化类型, 是被C#支持的.NET 2.0特性。不同于[[C++]]模版, .NET 参数化类型是在运行时被实例化,而不是编译时,因此它可以跨语言,而C++模版却不行. 它支持的一些特性并不被C++模版直接支持,比如约束泛型参数实现一个接口。另一方面,C# 不支持无类型的泛型参数。不像Java中的泛型,在CLI虚拟机中,NET generics 使用 具化 生成泛型参数, 它允许优化和保存类型信息. ==静态类== 静态类它不能被实例化,并且只能有静态成员。这同很多过程语言中的模块概念相类似。 ==迭代器== 一种新形式的迭代器 它提供了函数式编程中的generator,使用yield return 类似于Python中使用的yield <pre>// Method that takes an iterable input (possibly an array) // and returns all even numbers. public static IEnumerable<int> GetEven(IEnumerable<int> numbers) { foreach (int i in numbers) { if (i % 2 == 0) yield return i; } }</pre> ==匿名方法== 匿名方法类似于函数式[[编程]]中的闭包。 <pre>public void Foo(object parameter) { // ... ThreadPool.QueueUserWorkItem(delegate { // anonymous delegates have full access to local variables of the enclosing method if (parameter == ...) { // ... } // ... }); }</pre> ==属性访问器可以被单独设置访问级别== 例子: <pre>string status = string.Empty; public string Status { get { return status; } // anyone can get value of this property, protected set { status = value; } // but only derived classes can change it }</pre> ==可空类型== 可空类型 (跟个问号, 如 int? i = null;) 允许设置 null 给任何类类型。 <pre>int? i = null; object o = i; if (o == null) Console.WriteLine("Correct behaviour - runtime version from September 2005 or later"); else Console.WriteLine("Incorrect behaviour - pre-release runtime (from before September 2005)");</pre> == ??操作符== (??) 用于如果类不为空值时返回它自身,如果为空值则返回之后的操作 object nullObj = null; object obj = new Object(); return nullObj ?? obj; // returns obj 主要用作将一个可空类型赋值给不可空类型的简便语法 int? i = null; int j = i ?? 0; // Unless i is null, initialize j to i. Else (if i is null), initialize j to 0. ==相关条目== *[[C♯ 3.0 的特性]] *[[C♯ 4.0 的特性]] ==参考来源== *[http://zh.wikipedia.org/zh-cn/C%E2%99%AF 参考来源1] [[category:程序设计语言|c]] [[category:C♯|C]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:程序设计语言
(
编辑
)