在VB中,var
類型是否等同於Variant
?當object
可以接受任何數據類型時,這兩者之間有什麼區別?C#中「var」和「object」的區別
回答
從Visual C#3.0開始,在方法範圍聲明的變量可以有一個隱式類型var
。一個隱式類型的局部變量是強類型的,就像你自己聲明瞭類型一樣,但是編譯器決定了類型。的i
以下兩個聲明在功能上等同:
var i = 10; //implicitly typed
int i = 10; //explicitly typed
VAR不反對
你一定要這樣說的:C# 3.0 - Var Isn't Object
Nope - var
只是表示您讓編譯器從用於爲變量賦值的表達式中推斷出該類型。
這只是語法糖,讓你少做打字 - 嘗試使型「var
」的方法參數,看看會發生什麼:]
所以,如果你有這樣的表達:
var x = new Widget();
x
將是Widget
類型,而不是object
。
它不僅僅是保存輸入 - 'var'是處理匿名類型的唯一方法。 – Kobi 2009-10-12 05:48:26
哦,是的 - 忘了那一點! – 2009-10-12 07:50:26
其他的答案是正確的,我只是喜歡補充一點,實際上你可以把你的光標放在'var'關鍵字上,然後按F12跳轉到推斷的類型聲明。
或者你可以將光標放在「var」上稍微長一些,並在工具提示中看到傳染類型; o) - Cédric1分鐘前 – 2009-10-12 06:03:52
嗨,當我把光標放在var上並按F12時,我被導航到System.Object,所以我導航時,我把光標放在對象上,並按F12。對此的任何解釋...我希望兩者都是相同的 – Saravanan 2011-05-02 10:44:57
添加到崗位。
Parent p = new Parent();
Child c = new Child();//Child class derives Parent class
Parent p1 = new Child();
對於上面只能訪問父(p1)屬性事件,儘管它包含子對象引用。
var p= new Parent();
var c= new Child();
var p1 = new Child();
當使用'var'而不是類時,您可以訪問父類和子類的屬性。它的行爲就像爲孩子類創建對象一樣。
一個區別是拳擊和拆箱與對象。
裝箱和拆箱的概念涉及將值類型轉換爲引用類型,反之亦然,例如,同時將整數值存儲在數組列表中。 var與對象或裝箱/拆箱無關。這只是一種編譯器技巧,可以消除由於類型名稱而涉及內部方法的大量絨毛。例如現在,而不是'ApplicationInstallerForBase obj = new ApplicationInstallerForBase();'我簡單地寫'var obj = new ApplicationInstallerForBase();'。 'ApplicationInstallerForBase'是我的應用程序中的一個類。 _Note_:我沒有downvoted您的帖子。 – RBT 2016-12-12 05:38:44
- 1. Object()和Object {}的區別{}
- 2. C#「var」和C++「auto」之間的區別
- 3. C++中object和object()之間的區別是什麼
- 4. [Object,Object]和Array之間的區別(2)
- 5. 在Objective-C中Type * var和Type * var之間有什麼區別?
- 6. Var和新的區別
- 7. C - 「char var []」和「char * var」之間的區別?
- 8. Chrome控制檯中'[Object]'和'[object Object]'的區別?
- 9. {$ var}和$ var之間有什麼區別?
- 10. var Object = new Object();
- 11. Objective-C中'object'和'variable'的實際區別是什麼?
- 12. Obj-C中[object variable]和object.variable之間的區別?
- 13. Object的LinkedList和HashMap的LinkedList的區別?
- 14. 在bash腳本中$ {VAR:-...}和$ {VAR:?...}之間的區別是什麼
- 15. JavaScript中的'var $ x'和'var x'有什麼區別?
- 16. Swift中var和var的區別是什麼
- 17. apache中的$ {var}和%{VAR}有什麼區別?
- 18. Objects.hashCode()和new Object()。hashCode()之間的區別?
- 19. object.variable和object-> variable之間的區別
- 20. object x = null和object x =(object)null有什麼區別?
- 21. dmesg和/var/log/kern.log之間的區別
- 22. 懶惰var和let之間的區別
- 23. 'string'== $ var或$ var =='string'的區別?
- 24. 設置object = nil和[object release] vs [object release]和object = nil有什麼區別?
- 25. 在JavaScript中,var a = 5有什麼區別。和var a = 5?如
- 26. CocosBuilder中'Doc root var'和'Owner var'有什麼區別
- 27. C++中「::」「。」和「 - >」的區別
- 28. JQuery:「var test」和「var $ test」之間的區別是什麼
- 29. Object.getPrototypeOf(Object)和Object.prototype有什麼區別?
- 30. var和quote有什麼區別?
只是等到'動態'增加了更多的混淆; -p – 2009-10-12 06:06:43
;)在這種情況下,你也有人在這裏幫助我! – user184805 2009-10-12 06:13:08