是否值得升级到C#4.0

时间:2010-08-20 14:06:26

标签: c# c#-4.0 c#-3.0

  

可能重复:
  Why should I upgrade to c# 4.0?

我们的项目目前都是C#3。如果我们对C#4提供的功能没有特定要求,我们还有其他原因需要升级吗?感谢。

修改

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

5 个答案:

答案 0 :(得分:6)

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

但是,如果你也转向.NET 4 CLR,我认为你可以利用运行时的各种好处。我最喜欢的功能是parallel task library

答案 1 :(得分:2)

这取决于你想做什么。我没有2.0(Generics)和3.0(LINQ和Lambdas)的杀手级语言功能。 C#4更基于场景(参见下面的列表)。如果你想:

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

......那么也许我愿意。 (我的大多数项目都以某种方式使用WCF,所以我正在升级。)

我不会升级只升级。如果您有业务/技术原因,请升级。您必须权衡成本(在升级环境时减少编码时间)和好处(最新语言,正如一位评论者所说,开发人员更快乐)。

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

答案 2 :(得分:1)

如果您的软件相当静态并且业务至关重要,那么升级可能会对业务的生产正常运行时间带来风险。但是,如果您计划在未来继续开发业务软件,那么至少计划升级是朝着正确方向迈出的一步。如果公司希望其代码继续向前发展,则没有理由将一个开发限制为旧版本。使用较新的语言功能,未来的问题可能会有更简单,更具表现力的解决方案。

关于让一个开发人员掌握最新技术,当然也有一些话要说。如果企业希望其技术保持静止,那么多年来寻找人才的难度将越来越大。

答案 3 :(得分:1)

如果升级到C#4对你的系统来说不是一个很大的痛苦,那么只要让你在新运行时项目上运行是值得的,如果.NET 4在.NET 2上运行就像.NET 3.5那样我会说不要打扰,但是在这种情况下,更新运行时的好处是期货安全,因为将来会有基于.NET 4运行时的.NET版本,并且到那时升级可能会更加困难。

我假设您在不需要它时会问它是否值得,因为升级并不是非常困难,如果它会给您的项目带来特别的风险和困难,那么它如果没有足够的业务需求来支持.NET 4中的功能

,那将是不可取的

答案 4 :(得分:1)

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

现在,Web.config文件更加清晰,css支持得到了很大的提升。 WebForms Routing也是4.0下的核心功能。最重要的是,您最终可以完全控制您的控件ID!

在我看来,WebForms仍然没有ASP.NET MVC那么好,但它在4.0中得到了很多需要的爱。