2010-08-20 81 views
7

可能重复:
Why should I upgrade to c# 4.0?是否值得升级到C#4.0

我们的项目是目前所有的C#3。如果我们没有为C#4提供的功能的特定需求,我们是否有任何其他原因需要升级?谢谢。

编辑

似乎有更多的优势,用新的CLR,而不仅仅是新的语言功能。

+0

除非您打算利用新功能,否则我无法看到任何其他原因,因为它们都是向后兼容的。除非你想升级到VS 2010? – w69rdy 2010-08-20 14:10:31

+7

升级到VS2010并不一定意味着将项目升级到.NET 4.您可以使用VS2010定位.NET 3.5(甚至2.0)。 – 2010-08-20 14:11:20

+0

好点,好吧然后不,我不能认为任何其他原因 – w69rdy 2010-08-20 14:12:26

回答

6

如果您的目标是相同的框架,我个人并不认为C#3和C#4之间有很好的语言增强功能( 2.0-3.5)。

但是,如果你移动到.NET CLR 4,以及,我觉得有很多可以利用的运行效益种种。我最喜欢的功能是parallel task library

+1

PTL非常棒......但它也可用于3.5框架(后端) – 2010-08-20 14:27:47

1

如果你的软件是相当静态的,关键业务再升级可以呈现给企业的正常生产时间的风险。但是,如果您计划在未来继续开发业务软件,那么至少计划升级是朝着正确方向迈出的一步。如果公司希望自己的代码继续向前发展,那么没有理由将其开发限制在较早的版本中。未来的问题可能会使用更新的语言功能更容易和更具表现力的解决方案。

还有一定什么可说的保守关于技术之一的开发人员的电流。如果企业希望其技术保持不变,那么多年来人才搜寻的难度将越来越大。

1

如果升级到C#4是不是为您的系统维伊大的痛苦,那么它的价值,它只是有你的项目在新的运行时,如果.NET 4中的.NET 2像.NET 3.5运行是我说不要烦恼,但在这种情况下,在新的运行时间上的好处是期货安全,因为将来会有基于.NET 4运行时的.NET版本,而且升级可能会更难。

我在做你问,如果它是值得的,当你不需要它,因为它不会是非常困难的,你升级,是否会出现特定的风险和难度的项目,则假设如果没有足够的业务需求,如果没有足够的业务需求.NET 4

2

这取决于你想要做什么。我不知道2.0(泛型)和3.0(LINQ和Lambdas)的杀手语言特征。 C#4更基于脚本(请参阅下面的列表)。如果你想:

  • 利用WCF中的新功能(默认端点,改进的WCF REST支持等);
  • 与Entity Framework 4一起工作,它的新功能与WCF Data Services一起将您的EF模型公开为数据服务;
  • 利用了一些多线程增强功能(例如,使用任务而不是使用线程); CodedUI测试(更多的是IDE的东西,不是语言的东西);

...那么也许我会。 (我的大部分项目都以某种方式利用WCF,因此我正在升级。)

我不会升级只是为了升级。如果您有商业/技术理由,请升级。您必须权衡利益(最新的语言,正如一位评论者所说的那样,开发者更快乐),从而权衡成本(减少编码时您升级环境)。

另外,IDE很不错(虽然我发现它有时不稳定)。正如w69rdy的评论所说,它是向后兼容的。您可能想尝试一下IDE,并仍然使用.NET 3.5来试用它的一些功能(如扩展管理器和模式比较器)。

1

如果您使用ASP.NET WebForms,它可能是值得的。看看this blog entry

Web.config文件现在更清洁,并且css支持得到了很大的增强。 WebForms路由也是4.0下的核心功能。最重要的是,您终于可以完全控制您的控件ID!

在我看来,WebForms仍然不如ASP.NET MVC好,但它在4.0中获得了很多所需的爱。