【问题标题】:Is it worth upgrading to C# 4.0 [duplicate]是否值得升级到 C# 4.0 [重复]
【发布时间】:2010-08-20 14:06:25
【问题描述】:

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

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

编辑

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

【问题讨论】:

  • 我看不出任何其他原因,除非您打算利用新功能,因为它都是向后兼容的。除非您想升级到 VS 2010?
  • 升级到 VS2010 并不一定意味着将项目升级到 .NET 4。您可以使用 VS2010 以 .NET 3.5(甚至 2.0)为目标。
  • 好点,好吧,那我想不出任何其他原因
  • 通过提供更现代的平台让您的程序员满意?

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


【解决方案1】:

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

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

【讨论】:

  • PTL 很棒......但它也可用于 3.5 框架(向后移植)
【解决方案2】:

这取决于你想做什么。我没有 2.0(泛型)和 3.0(LINQ 和 Lambdas)所具有的杀手级语言特性。 C# 4 更加基于场景(请参阅下面的列表)。如果你想:

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

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

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

另外,IDE 也不错(虽然我发现它有时有点不稳定)。正如 w69rdy 的评论所说,它是向后兼容的。您可能想尝试一下 IDE,但仍停留在 .NET 3.5 上只是为了尝试它的一些功能(例如扩展管理器和模式比较器)。

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        【解决方案5】:

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

        Web.config 文件现在更干净了,对 css 的支持也得到了很大的增强。 WebForms Routing 也是 4.0 下的核心特性。最重要的是,您终于可以完全控制您的控制 ID!

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-11-15
          • 1970-01-01
          • 1970-01-01
          • 2011-12-12
          • 2020-10-15
          • 1970-01-01
          • 1970-01-01
          • 2013-11-03
          相关资源
          最近更新 更多