我们的编码标准要求我们尽量减少C#var的使用(建议限制它与Linq一起使用).然而,有时候使用泛型的地方比较方便,例如
Dictionary<DateTime, Dictionary<string, float>> allValues = ...
// ...
foreach (var dateEntry in allValue)
Run Code Online (Sandbox Code Playgroud)
更容易打字
foreach (KeyValue<DateTime, Dictionary<string, float>> dateEntry in allValue)
Run Code Online (Sandbox Code Playgroud)
(并且比在某些情况下记住显式类型更容易).
任何重构工具都能够将前者转换为后者.我已经看过Resharper,但它似乎并没有(事实上,它的默认建议是向相反的方向发展).
Mar*_*ell 19
我有ReSharper 4.1,它确实提供了这个选项(在任一方向).
实际上,我建议挑战标准......前者比后者更具可读性(特别是如果你调用变量pair或类似的东西).我不会使用"var" var i = 0,但它非常适合上述.
如需批量更改,请访问:
并运行...
Hav*_*uit 14
这在Visual Studio 2017中是可行的.
工具>选项>文本编辑器> C#>代码样式>常规 -
查找'var'首选项>当变量类型明显时.对于Preference,选择"Prefer explicit type",对于Severity,选择"Suggestion".
现在,您将在使用时获得灯泡操作var,并且可以使用Ctrl.快捷键快速更改为显式类型.