我得到了一本名为“Pro C#2005和.NET 2.0平台,第三版由Andrew Troelsen”的书。 我想知道我是否应该购买“Pro C#2010和.NET 4平台,第五版”。因为,最新版本的.NET是4.0。如果我根据这本旧书学习C#,我是否会错过C#语言的一些关键部分?或者,我可以从本书开始,并学习其他资源的新.NET 4.0功能。
谢谢
答案 0 :(得分:69)
你可以从那本书开始,从其他地方学习C#4.0。这是在C#2.0之后添加的内容:
答案 1 :(得分:24)
你会错过很多。最值得注意的是,Linq。 Linq改变了惯用语C#的整个面貌,以至于从旧书开始我无法推荐。
答案 2 :(得分:6)
我认为你会错过LINQ,这是一个非常值得注意的补充。如果您对其他推荐开放,我会说试试Jon Skeet的C# In Depth。它非常好地涵盖了从2.0到4.0版本(我购买了早期访问版本)语言的各种变化。
答案 3 :(得分:5)
Lambdas / LINQ非常庞大。
答案 4 :(得分:3)
这就是两个名字。那里有一堆垃圾,你错过了。
如果可以,请始终针对最新版本进行开发。
答案 5 :(得分:3)
您当然可以从C#2.0开始学习基础知识。 C#4.0中有许多很棒的新功能,但其中很多都是高级的或者所谓的“语法糖”,这意味着它是一种更简洁的方式来编写你已经可以用C#2.0做的事情。
关于您可以参考的新功能,有很多不同的帖子,而没有购买完整的书籍:
http://www.15seconds.com/issue/080228.htm http://code.msdn.microsoft.com/cs2010samples
我建议不要预先花钱,并查看互联网提供的内容。
答案 6 :(得分:3)
我认为你不会错过任何一件事。我有第3,第4和第3这本书的第5版和我喜欢Trolensen的风格。就个人而言,我认为2.0 是正确的C#版本。从3.0开始,添加了许多功能,这些功能只不过是“语法糖”和“时间/打字储户”而且它们让初学者感到困惑,而且你必须在这里发布更多问题,比如“我是否应该使用构造函数或者对象初始化器“。
如果您是第一次学习核心语言,可以从2.0开始,这是核心语言的主要版本。就像你说的那样,你可以随时了解其他资源的新功能。
答案 7 :(得分:2)
我不建议您开始使用如此旧的版本学习C#。
如果你有钱购买新版本,你应该去购买。自.net 2.0以来发生了很多变化。
如果您购买一本新书,那么您现在就无法从该书中学习基本知识并从在线资源中学习新功能。
答案 8 :(得分:2)
您会错过大多数新技术。 3.0引入了WPF,WCF和WF 3.5给了我们LINQ,以及其他相关技术,如lambda表达式,扩展方法...... 4.0带来了DLR,用于动态打字。
可以在wikipedia上找到有关新功能的完整摘要。
答案 9 :(得分:2)
LINQ并不是你想念的全部。使用 LINQ添加到3.0 的很多技术(主要是因为它)都有其自身的优点,因此非常值得采用最新版本。
如果你真的没有拥有,那么你认为自己可能会对自己造成伤害。毕竟,框架是免费的,在线文档也是如此。此外,在线教程比比皆是,您在StackOverflow上获得了丰富的编程建议资源。
答案 10 :(得分:2)
MSDN有一组有用的页面(开始here),它们可以准确地告诉您在定位旧版本的C#和.Net Framework时将会遗漏的内容。
请记住,当您定位C#版本时,您不仅要将自己与语言联系起来,而且要与匹配的.Net框架捆绑在一起 - 2008年会有大量新内容,然后在2010年再次出现,您将错过.Net 2.0。
答案 11 :(得分:2)
自2.0以来,您想要了解的主要内容包括:
dynamic
,C#4.0允许放宽类型限制。这允许.NET更加无缝地与使用“duck-typed”语言编写的程序集或本机API进行交互(其中类型始终是动态的,从您尝试对实例进行推断)答案 12 :(得分:1)
.Net的版本主要是相似的,但是从2.0开始,你唯一可以收集的就是获得语言中某些变化来自的历史。这更像是一种经验。如果您还没有接受过C#培训,最好从最近开始。语言的基本原理仍然是一样的。您还将学习完成常见任务的最新技术,而不是学习过时的方法,然后不得不重新学习它,并尝试先了解差异及其存在的原因。
从最新的东西开始。不要从过时的资源中学习,然后尝试用无关的信息填补空白。
答案 13 :(得分:1)
编程技术变化如此之快,为什么你会花时间阅读这么旧的书呢?我会得到最新的。
答案 14 :(得分:1)
除了上面提到的Linq / lambdas等之外,后面的书还将介绍WPF这样的技术,它几乎取代了桌面开发的winforms,而WCF现在是常用的通信方法,所以我试着去拿后来的一本书。