4

在纯数据库交互以外的领域使用 linq 的乐趣让我大吃一惊。(请参阅调用其他代码书呆子 - 嵌套循环的替代方案?)。

我们被困在 2.0 上。我已经告诉了有关轻松更新到 3.5 的权力(我们已经迁移到 VS2008),但他们想要一份升级的“好处”列表。

那些在 3.5 方面有经验的人能否提供一些关于将现有应用程序更新到 3.5 的好处的谈话要点?

更新:发现了另一个原因:Microsoft 将 Asp.Net 的图表工具作为补丁包含在 3.5 之上!他们得到了他们的商业价值,我得到了乐趣......

4

9 回答 9

15

你可以为它辩护吗?听起来你想要它,因为 LINQ 很有趣。其他人都在提到有趣的功能。我一直在向管理层出售有趣的功能时遇到问题,因为它们并不是可能破坏环境的非常有说服力的理由。

老实说,这实际上取决于您使用 C# 的目的。您是 Web 开发人员、系统管理员还是其他人?采取一般方法,我会使用以下卖点(您需要做一些工作来证明这些事情):

  1. 升级时对最终用户的零中断。升级到新版本将是无缝的,我们将有一个彻底审查的测试计划,用于将所有客户端更新到此版本。我们所有需要 .NET 1.x 或 .NET 2.0 的旧应用程序仍然可以完美运行。
  2. 程序员效率。您可能会提到更多的 Windows API 是如何由 .NET 类包装的,从而使程序员更有效率,因为他们不需要 P/Invoke 那么多。由于 x、y 和 z,LINQ 使您的工作效率更高。由于 x、y 和 z,Lambda 表达式使您更有效率。
  3. 减轻未来操作系统迁移的痛苦。现在迁移到 WPF 将使我们为 Vista/Windows 7 做好准备。我们不必将使用现已弃用的“Windows 窗体”的应用程序迁移到 WPF,因为我们已经在使用它了。
  4. 从第三方购买的更多应用程序将需要它,因此我们迟早必须升级。

最后,您需要证明,至少,就增加支持或测试成本而言,这一举措不会让您花钱。如果你能证明它会让你更有效率,而且这将是一个相当轻松的转换,那么你就会如愿以偿。

于 2008-12-15T17:47:33.667 回答
7

也许您应该与一些 Java 开发人员交谈,他们可能仍然被迫使用 1.3 或 1.4 进行开发,尽管 1.5 已经推出了 3 年多,而 1.6 已经推出了几年……看起来整个业务的平台一致性通常比好处更重要使用最新最好的。

于 2008-12-15T17:29:49.443 回答
7

还要记住 3.5 只是附加的 BCL 库。您仍在 CLR 2.0 上运行。3.0 也是如此。通常,当人们发现底层框架是相同的并且您只是添加新库时,他们更有可能接受它。

于 2008-12-15T17:46:03.483 回答
2

您不需要 .NET 3.5 即可获得 LINQ 或 C# 3.0 功能。您可以为 .NET 2.0 实现自己的 LINQ。我在 .NET 2.0 应用程序中到处使用 C# 3.0。我不知道如何开始转换过程的全部细节,因为我没有自己设置。这对您来说可能是一个很好的链接:http ://www.danielmoth.com/Blog/2007/05/using-c-30-from-net-20.html 。

于 2008-12-15T17:43:23.707 回答
1

http://msdn.microsoft.com/en-us/library/ms171868.aspx

于 2008-12-15T17:44:21.333 回答
1

过渡到 3.5 将帮助您获得以下好处/功能:

  1. LINQ to(实体/XML/对象/数据集等)。
  2. WCF、WF 和 WPF。
  3. ASP.net MVC,其中 MVC 是其他平台(如 Ruby/Python)中的一种事实上的标准,允许您基于纯 HTML/Javacript 进行开发。
  4. ADO.net Entity Framework/Linq to Sql 4 的 ORM 选项。
  5. 通过一些插件,您可以支持 IronPython/IronRuby 等动态语言。

哦,我差点忘了 ADO.net Data Services..one 我的最爱。

这些是我立即想到的几个好处。

于 2008-12-15T18:09:29.567 回答
0

根据我的经验,仅添加 LINQ 和 Extension 方法就使许多以前艰巨和/或耗时的任务变得更加轻松和快捷。仅凭这一点就提高了开发人员的工作效率,恕我直言,升级努力是值得的。

于 2008-12-15T17:33:08.050 回答
0

Lambda 表达式很棒。我发现 lambda 表达式以非常简洁易读的方式帮助我的地方没有尽头。

自动属性虽然是一个简单的概念,但确实有助于使代码库更小更清晰。

另外,我第二个扩展方法。

于 2008-12-15T17:38:49.583 回答
0

在我打开这个问题之前,我得到了答案:LINQ——它是 .NET 中最伟大的扩展之一——我喜欢它。我花了几天时间才弄明白,但现在我明白了,我到处都在使用它。在我看来,查询集合和数组的能力值得单独升级。

  • 缩短开发时间(因此提高投资回报率)
  • 减少为已在较新版本中修复的 .NET 错误寻找解决方法所浪费的时间。
  • 本机类型的扩展方法(类似于 JavaScript 原型设计)
  • LINQ 扩展——它们需要几天时间才能让你明白,但它太棒了!
  • LINQ to XML 使使用 XML 变得如此简单
  • LINQ to 对象/集合
  • 一张来自 Microsoft 的漂亮的新 3.5 海报,您可以将其张贴在您的隔间中。

作为一名经理,如果我有一个更快乐、更高效的团队,可以在更短的时间内生产更多的东西,那么它就很简单了。

问问自己:一旦您考虑了服务器上的升级/过渡/安装/附加测试等,开发人员是否会更有效,他们提高的生产力是否会真正增加公司的利益或降低公司成本?如果答案确实是肯定的,那么进行升级并停止争论。

于 2008-12-16T17:38:53.140 回答