我刚刚安装了 ReSharper 的试用版,并且第一件事注意到,它总是建议用隐式类型的局部变量替换显式类型局部变量,例如:
public string SomeMethod(int aParam) { int aNumber = SomeOtherMethod(aParam); //应该更改为: var aNumber = SomeOtherMethod(aParam); }我认为显式类型变量更易读>
你对ReSharper的建议有什么看法?使用隐式类型变量有什么优势吗?什么时候使用implicit / explict vars?
解决方案我个人只使用var,当我可以清楚地区分变量Type只是读取声明,例如:
var someVariable = new List< int>();在上面的例子中,它显然var是指List< int> / p>
我不喜欢使用var,当我必须去一些方法定义,以找出什么变量类型var表示或通过不得不依赖于视觉工作室intelli-popup或任何调用,例如这不是对我确定:
var someVaraible = SomeMethod我的意思是,SomeMethod函数应该返回什么?你可以看看代码行吗?不,你不能,所以这就是为什么我避免使用var这些情况。
I just installed a trial version of ReSharper and one of the first things I noticed is that it always suggests to replace explicitly typed local variables with implicitly typed ones, e.g:
public string SomeMethod(int aParam) { int aNumber = SomeOtherMethod(aParam); // should be changed to: var aNumber = SomeOtherMethod(aParam); }I think explicitly typed variables are more readable (more explicit).
What do you think about ReSharper's suggestion? Is there any advantage in using implicitly typed variables? When do you use implicit/explict vars?
解决方案I personally only use "var" when I can clearly distinguish the variable Type by just reading the declaration, for example:
var someVariable = new List<int>();In the example above, its evident that "var" refers to "List<int>".
I don’t like to use "var" when I have to go to some method definition to find out what variable type "var" represents or by having to rely on visual studio intelli-popup or whatever that is called, for example this in not ok to me:
var someVaraible = SomeMethod();I mean, what is the "SomeMethod" function supposed to return? Can you tell just by looking at the line of code? No you can’t, so that is why I avoid using "var" on those situations.
更多推荐
使用隐式类型的局部变量
发布评论