我用的ReSharper在Visual Studio。每当我创建类实例resharper建议我使用var而不是确切类型的类。为什么使用var运算符更合适?
2
A
回答
1
对于初学者来说重复性较低。哪一个你更喜欢:
IDictionary<string, object> foo = new SortedDictionary<string, object>();
或
var foo = new SortedDictionary<string, object>();
就个人而言,我觉得后者更具有可读性。
+2
是的,使用构造函数时。但是var foo = SomeFunction(someparameter);不太可读。我喜欢以前好多了。 – 2010-09-24 06:42:50
5
ReSharper建议您通过context action使用var。
ReSharper中的上下文动作(通常由铅笔图标指定),非常类似于IntelliJ IDEA中的意图动作,如果您愿意,可以使用,但它不是强制性的。这与专门针对解决ReSharper发现的代码问题的quick-fix(黄色或红色灯泡)相反。
一次又一次ReSharper用户在看到ReSharper建议使用var时会惊呆,然后(只要您接受该建议)再次建议使用显式类型说明符。但是考虑到上下文动作的本质,拥有这种对立的上下文动作是完全正确的,而ReSharper有很多这样的动作。
如果你不想ReSharper的显示这个特定背景下的行动,你可以关闭它在ReSharper的>选项> [语言]>上下文行动
相关问题
- 1. “是” - 运营商类型
- 2. C++使用,而不是运营商运营商INT()+
- 3. 类型不提供电话运营商
- 4. String类+运营商
- 5. 带有''''的类型定义运营商
- 6. 运营商超载的类型
- 7. SSRS:运营商以“ - ”类型上部署
- 8. 运营商'!'不能应用于long类型的操作数
- 9. 运营商不能使用?
- 10. 为什么我应该使用var而不是类型?
- 11. 操作数的数据类型为varchar是和运营商
- 12. 操作数的数据类型NULL是最大运营商
- 13. 使用“?”运营商
- 14. 使用运营商
- 15. PHP:为什么使用!! $ var而不是(boolean)$ var进行类型转换?
- 16. LINQ的“序列运营商不支持的类型”异常
- 17. 原型库使用!!运营商
- 18. 类型错误:不能使用“在”运营商在空搜索“SUPPORT_WL_SERVER_CHANGE”
- 19. “为”运营商的约束泛型类型
- 20. C++:运营商跨类匹配
- 21. 运营商在类模板上重载
- 22. 运营商<<(ostream&os,...)模板类
- 23. 强迫模板类与运营商T *
- 24. 运营商在模板函数类
- 25. 运营商<<在派生类C++
- 26. PostgreSQL类似于运营商行为
- 27. 为什么在std :: cout中使用“::”运算符而不是“。”运营商?
- 28. 使用蒙戈$切片运营商与其他运营商
- 29. 使用运营商的 - > *
- 30. javascript:什么是不是? (!!运营商)
我注意到,“VAR”是不是*运算符*。它是一个*局部变量类型说明符*。 – 2010-09-24 15:31:52