gpt4 book ai didi

c#-3.0 - 使用 C# 3.0 特性有什么缺点吗?

转载 作者:行者123 更新时间:2023-12-03 11:36:46 24 4
gpt4 key购买 nike

我喜欢 C# 3.0 的特性,尤其是 lambda 表达式、自动实现的属性,或者在合适的情况下还隐式类型化局部变量(var 关键字),但是当我的老板透露我正在使用它们时,他要求我不要使用任何 C# 3.0 特性工作。有人告诉我,这些功能对于大多数开发人员来说不是标准的和令人困惑的,而且它的实用性值得怀疑。我被限制只能使用 C# 2.0 功能,他也在考虑禁止匿名方法。

由于我们的目标是 .NET Framework 3.5,我看不出这些限制的任何原因。在我看来,也许唯一的缺点是我的几个同事和老板(也是程序员)必须学习一些 C# 3.0 的基础知识,这应该不难。你怎么看待这件事?我的老板是对的,我错过了什么吗?在以 C# 为主要编程语言的开发公司中,这种限制有什么好的理由吗?

最佳答案

我有过类似的经历(被要求不要使用泛型,因为这可能会让我的同事感到困惑)。

事实是,我们现在使用泛型,我的同事都没有遇到问题。他们可能没有掌握如何创建泛型类,但他们确实了解如何使用它们。

我对此的看法是,任何开发人员都可以学习如何使用这些语言特性。起初它们可能看起来很先进,但随着人们习惯它们,新鲜感的冲击会减弱。

使用这些功能(或任何新的语言功能)的主要论点是,这是一种简单易行的方法,可以帮助我的同事提高技能,而不是停滞不前。

至于您的特定问题 - 不使用 lambdas。 BCL 的许多更新都有将委托(delegate)作为参数的重载——在许多情况下,这些最容易表示为 lambda,不以这种方式使用它们会忽略 BCL 的一些新的和更新的用途。

关于您的同行无法学习 lambdas 的问题 - 我发现 Jon Skeets C# 深入处理了它们如何以一种易于理解和真正大开眼界的方式从代表演变而来。我建议你为你的老板和同事准备一份副本。

关于c#-3.0 - 使用 C# 3.0 特性有什么缺点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2313051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com