我用的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