C# 2.0、3.0 和 4.0 中的新功能列表 [关闭]
Posted
技术标签:
【中文标题】C# 2.0、3.0 和 4.0 中的新功能列表 [关闭]【英文标题】:List of new features in C# 2.0, 3.0 and 4.0 [closed] 【发布时间】:2010-07-04 14:19:44 【问题描述】:我长期从事 .NET 1.1 项目,一直停留在 C# 1.0,现在我想赶上最新最好的。
Google 返回了很多关于 C# v2.0 新特性的信息,但对于版本 3 和 4,我只找到了部分信息。
互联网上是否有一些 C# 在 v2.0、v3.0 和 v4.0 中引入的所有新功能的列表?
【问题讨论】:
【参考方案1】:我自己的书的完整插件,但希望不是免费的:获取second edition of C# in Depth 的早期访问版本。它跳过了 C# 1,但详细介绍了 C# 2、3 和 4 的每个特性。
如果您只需要功能列表,请参阅附录 C:
C# 2.0:
C# 2 的主要特性是泛型、可为空的类型、匿名方法和其他与委托相关的增强和迭代器块。此外,还引入了几个较小的特性:部分类型、静态类、具有不同访问修饰符的 getter 和 setter 属性、命名空间别名、pragma 指令和固定大小的缓冲区。
C# 3.0:
C#3 主要针对 LINQ 构建,尽管许多特性在其他地方很有用。 自动属性,数组和局部变量的隐式类型,对象和 集合初始化器和匿名类型都在 XREF ch8 章节中介绍。 Lambda 表达式和表达式树扩展了 在 2.0 版中取得了与委托相关的进展,扩展方法为查询表达式提供了最后一个要素。仅在 C# 3 中添加了部分方法,尽管部分类型本身在 C# 2 中。正如 Marc 在 cmets 中指出的那样,泛型类型推断在 C# 3 中得到了相当大的提升。
C# 4.0:
C# 4.0 具有一些针对互操作性的功能,但没有相同的功能 C# 3.0 的一心一意。再次有一个相当明显的分界线 “小”功能(命名参数,可选 参数、更好的 COM 互操作、通用方差)和动态的巨大特性 打字。
我有一个针对C# 2 和另一个针对C# 3 的“虚张声势指南”,但恐怕我还没有为 C# 4 做过相应的操作。
【讨论】:
不错的总结(当然)。我唯一要添加的东西(不费吹灰之力)是 C# 3.0 中更强大的泛型类型推断 - 意外编写与 2.0 不兼容的代码非常简单。 @Marc:哦,真的。将添加。 “命名空间别名”?你是说类型别名还是外部别名? @Timwi:我的意思是“alias::SomeType”(包括“global::”)。请参阅 C# 4 规范的第 9.7 节。 @innuendoreplay:没有 C# 3.5 这样的东西。【参考方案2】:C# 2:MSDN,Wikipedia
C# 3:MSDN、Wikipedia、***
C# 4:MSDN、Wikipedia、***
【讨论】:
要阅读上面的链接,人们必须登录吗? write 很重要,那么为什么要reading 呢?【参考方案3】:从 1.1 到 2.0 (IMO) 的最大变化是 introduction of generics。自 2.0 以来,泛型也是许多其他 .NET 技术的基础。我建议您从真正了解泛型开始学习。
【讨论】:
【参考方案4】: C# 3.0:C# 4.0隐式类型的局部变量 匿名类型 扩展方法 对象和集合初始化器 Lambda 表达式 查询表达式 表达式树
【讨论】:
以上是关于C# 2.0、3.0 和 4.0 中的新功能列表 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
我可以在面向 .Net 3.5 的项目中使用所有 C# 4.0 功能吗?
PInvoke在 2.0 3.0的时候正常 升级到4.0后出错。