2

他们说一个人不应该带着两个计时器出海,或者戴两个手表。您应该使用一个可靠的,或者三个(或更多)来遵循“多数规则”。

那么,我应该安装另一个代码重构助手,还是卸载其中一个?我已经安装了两个,他们为这行代码是否:

using (StreamReader file = new StreamReader(ChemicalMakeupOfEveryDropOfWaterInTheMississippi))

...应该是这样的:

using (var file = new StreamReader(ChemicalMakeupOfEveryDropOfWaterInTheBigMuddy))

如果我明确指定类型,带有灯泡装订线图标的工具会告诉我:

“使用隐式类型的局部变量声明|使用'var'”

如果我默认并允许它将显式转换为隐式,则另一个工具(在装订线中带有铅笔图标的工具)会显示“明确指定类型”并将“var”更改回“StreamReader”

我陷入了一个无限循环,将显式更改为隐式并再次返回。我的看法是这并不重要,但我把这个难题抛给了 StackOverflow 人群的智慧。

4

4 回答 4

4

我更喜欢显式类型的变量,因为它们可以让读者更快地掌握代码在做什么。它们还有助于在编码时实施更严格的类型安全(从阅读代码的人的角度来看),这有助于防止在开发过程中由于不确切知道正在使用什么类型而出现许多错误。

在我看来,唯一一次应该使用隐式类型变量是在 linq 查询期间返回各种匿名类型时。

于 2012-06-18T23:05:26.437 回答
1

没有区别。您可以使用这两个版本。

于 2012-06-18T23:05:32.360 回答
1

除非声明会占用不合理的空间,过于复杂,或者您不确定类型是什么,否则您应该显式输入。它通常会提高可读性,并使逻辑更容易理解。

但是,如果您遇到任何提到的异常,请使用隐式类型,因为它会提高可读性。

Var当您有中间结果时,也适用于对集合进行排序。

于 2012-06-18T23:07:15.023 回答
1

卸载或重新配置其中一个,这非常重要。我更喜欢明确的,但那只是我....

于 2012-06-18T23:07:47.503 回答