我应该从哪个版本的C#(和.Net)开始?

时间:2008-10-27 17:04:53

标签: c#

我正在努力让自己加速C#,之前从未开发过它。在之前的一个问题中,我询问了好的书评网站,并通过我发现了一个非常积极的(以初学者为导向)的“Essential C#”评论,但这是针对之前的版本。

虽然我确信它仍然是一本好书,即使版本之间的质量下降,但它为我提出了一个有趣的问题:

开始使用新语言时,最好是从最新版本开始(例如C#3.0 / .Net 3.5)还是应该返回一两个版本并尝试学习之后添加到语言中的内容?

前者从立即更新的角度来看似乎更好,但后者似乎更实用,因为它可能更有可能是商店会使用稍微旧版本的语言。

11 个答案:

答案 0 :(得分:16)

我建议你用最新的项目开始一个项目。 您不一定需要学习所有最新的增强功能,但是当您准备就绪时,它们随时可用。

3.5实际上是2.0框架,带有'添加'。

此外,如果您正在实际处理样本,他们应该最新工作。然后,当您感到舒适时,您可以使用最新版本查找要增强的区域。例如。也许可以增强使用嵌套IF的循环以使用LINQ。

答案 1 :(得分:7)

从最新开始。如果您需要使用基于以前版本构建的代码,则可以了解版本X和版本Y之间的差异。

答案 2 :(得分:4)

.NET framework 3.0和3.5基于2.0,所以我说你最好专注于2.0功能,然后在你去的时候加上3.0和3.5的东西。

请确保在2.0之前避免任何事情,因为它们与版本2.0的兼容性突破了。

答案 3 :(得分:3)

从最新的开始。

在以后的版本中有一些不在1.0中的好东西。您不希望开始使用最新版本中修复的变通方法的“坏”习惯。

答案 4 :(得分:3)

了解最新信息 - 但要确保你对C#1和2的语言功能保持坚定的态度,而不仅仅是学习C#3的酷炫功能。除了其他任何东西,你还是会直接看到许多维护工作中的C#1。

值得了解的是如何实现不同的功能 - 在C#2中,可空类型和泛型需要CLR更改,但其余的(迭代器块,匿名方法,部分类型等)只是编译器魔术。在C#3中,它是所有编译器魔法(具有LINQ的框架支持等)。你应该真正理解CLR术语的基础知识(什么是结构?什么是类?)和CLR via C#是学习它的好方法。在过度担心ASP.NET,WinForms,WPF等之前,请专注于核心技术(系统。*类型,IO,集合等)。我将LINQ to Objects作为“核心”API但不包括LINQ to SQL,例如。

我在阅读清单上有Essential C#(为了审查目的) - 我已经快速浏览了它提供的内容,而且看起来很扎实。

答案 5 :(得分:2)

使用.NET 3.5和C#3.0。否则只会让你走得更远。此外,各个版本的核心设施相同。但是,例如,当你准备好LINQ时,就可以为你做好准备了!

答案 6 :(得分:2)

我会问你一个问题来回答你的问题。

您是希望在使用最新版本的C#/ .Net或使用旧版本的商家的企业工作吗?

答案 7 :(得分:1)

为了解决您的采用问题,因为从版本2.0到3.5的过渡对许多软件商店来说并不是非常痛苦,所以我将继续从3.5开始。你会隐含地知道2.0,虽然也许有些成语会改变。

答案 8 :(得分:1)

绝对了解最新信息。例如,为什么你想养成使用预先通用的C#容器的习惯,然后不得不忘掉它?在旧代码中遇到旧内容时,请阅读旧内容。

答案 9 :(得分:0)

如果你从事自由职业合同工作,我认为学习旧东西会更好。您将要触摸的代码必须是旧的。如果你受雇并且必须使用该语言来提出一个新的应用程序,或者你只是为了好玩,那么我会选择最新最好的。

答案 10 :(得分:0)

您可能希望查看此question and answers