我们的项目目前都是C#3。如果我们对C#4提供的功能没有特定要求,我们还有其他原因需要升级吗?感谢。
修改
使用新的CLR似乎有更多的优势,而不仅仅是新的语言功能。
答案 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,所以我正在升级。)
我不会升级只升级。如果您有业务/技术原因,请升级。您必须权衡成本(在升级环境时减少编码时间)和好处(最新语言,正如一位评论者所说,开发人员更快乐)。
另外,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中得到了很多需要的爱。