【发布时间】:2020-07-21 12:34:23
【问题描述】:
在 2001-2002 年创建 .NET 时,他们创建了 .NET 类型(String、Int64、Boolean)并创建了类型别名(string、long、bool)。 微软这样做的官方原因是为了吸引和帮助 c/c++ 程序员过渡到新的 C#。 我之所以记得这一点,是因为当他们宣布 .NET 并解释这些类型时,我在场。
所以 20 年后,.NET 仍然更喜欢别名,即使我指定了名称类型。
例如,如果我写 List<Tuple<String,DateTime,Int64>> l = new,这将自动完成到 List<Tuple<string, DateTime, long>>()。
List<Tuple<String,DateTime,Int64>> l = new List<Tuple<string, DateTime, long>>()
有这种偏好的原因吗? Color Coding 概念怎么了?
【问题讨论】:
-
“微软这样做的官方原因是为了吸引和帮助 c/c++ 程序员过渡到新的 C#。” - 你对此有引用吗?
-
@Dai 不,我是这篇声明的作者。他们实际上是在宣布 .NET 时在舞台上说的。
-
@Dai 我记得这一点,因为当时在听众中我对自己说:这是多么愚蠢的事情,因为类型名称 int 与 Int32 不会导致 c++ 开发人员从编程语言。我对么?谁能说我错了?
-
Is there a reason for this preference?有两个选项。他们需要选择一个。他们选择了最安全的一个(因为您可以定义自己的String类并因此引起意外,但您不能摆弄string关键字)。