我在最初为 .net v2 编写的项目中使用 StyleCop for Resharper。但是我已经将这个项目升级为 3.5 框架。
Stylecop 建议我将大部分显式类型变量更改为隐式类型,例如:
字符串 - 变量
自定义强类型 - var
这是使用 .net 3.5 项目时的前进方向吗?将所有内容都声明为 var 似乎很不寻常。
如果我的术语已经用完,请随时更新问题标题...
我在最初为 .net v2 编写的项目中使用 StyleCop for Resharper。但是我已经将这个项目升级为 3.5 框架。
Stylecop 建议我将大部分显式类型变量更改为隐式类型,例如:
字符串 - 变量
自定义强类型 - var
这是使用 .net 3.5 项目时的前进方向吗?将所有内容都声明为 var 似乎很不寻常。
如果我的术语已经用完,请随时更新问题标题...
在很多地方都被争论过,这取决于品味。比较这两行代码:
StringBuilder stringBuilder = new StringBuilder();
var stringBuilder = new StringBuilder();
你喜欢哪个?
那些不是泛型,那些是隐式类型变量。这在很大程度上是一个品味问题。有些地方你可以过度使用,var
有些地方显然是必要的(想想匿名类型),所以只要在中间找到适合你(和你的团队)偏好的地方。
我相信它更多的是一个建议,应该考虑,但不一定完全实施。
虽然我个人认为 var 的最佳用途是在声明/返回类型很明显时,即:
var temp = "Test me now";
相对
var temp = GetTestData();
此外,我真的很喜欢能够用更少的代码声明泛型类型:
var test = new Dictionary<string,string>();
相对
Dictionary<string, string> test = new Dictionary<string,string>();
var 在使用匿名类型时非常重要...
var cees = from c in Customers select new { c.Name, c.Birthdate };
Resharper 会建议将 all 更改为 var。对于明显的定义,例如
var c = new Customer();
我喜欢用它。对于某些 API 调用,我可能会明确写下类型:
Customer c = repository.Get(1);