C# - 如果我从.NET 2.0开始,我会想念什么?

q09*_*987 25 c#

我得到了一本名为"Pro C#2005和.NET 2.0平台,第三版由Andrew Troelsen"的书.我想知道我是否应该购买"Pro C#2010和.NET 4平台,第五版".因为,最新版本的.NET是4.0.如果我根据这本旧书学习C#,我是否会错过C#语言的一些关键部分?或者,我可以从本书开始,并学习其他资源的新.NET 4.0功能.

谢谢

Mar*_*ade 69

你可以从那本书开始,从其他地方学习C#4.0.这是在C#2.0之后添加的内容:

C#3.0:

  • LINQ
  • lambda表达式
  • 扩展方法
  • 表达树
  • 匿名类型
  • 本地类型推理
  • 自动属性
  • 对象初始化器
  • 集合初始化器
  • 部分方法

C#4.0

  • 动态成员查找
  • 协变和逆变泛型类型参数
  • 可选参数和命名参数
  • 并行化框架(实际上是.NET 4的一部分,而不是C#4.0 本身)

  • C#4和相应的CLR还增加了从主互操作程序集中"链接"类型信息的功能,这样您就不必随应用程序一起发送PIA.(PIA程序集通常很大,如果你只使用其中的几种方法就必须发货.)当然,这更多的是编译器功能而不是语言功能. (4认同)
  • 不要忘记WPF,WCF等.虽然不是语言功能,但它们是自2.0以来添加的.Net的重要部分. (2认同)

rec*_*ive 24

你会错过很多.最值得注意的是,Linq.Linq改变了惯用语C#的整个面貌,以至于我无法从旧书开始推荐.

  • @ q0987:LINQ与订购,分组,过滤和转换数据有关,无论是数据库中的数据,数组,XML文档,网站等等.您是否对工作中的数据进行了排序,分组,过滤或转换?如果是,即使您不使用数据库,也可能需要查看LINQ.(如果不是......你用你的数据做什么*做什么?当你得到它时它是否已经完美了?那一定很好.) (14认同)
  • LINQ与数据库无关.您可以将它与数据库一起使用,但它不与它们直接链接. (2认同)
  • @ q0987,不是真的.LINQ是一种查询语言,是的,但它也可以用于数组和列表等集合,这可以为您节省大量的工作. (2认同)

Gar*_*ett 6

我想你会错过LINQ,这是一个非常值得注意的补充.如果你对其他推荐开放,我会说试试Jon Skeet的C#In Depth.它非常好地覆盖了从2.0到4.0版本(我购买了早期版本)的语言中的各种变化.


Oce*_*t20 5

Lambdas/LINQ非常庞大.