C# object 类型
是個對象類型?
Object 數據類型
保存引用對象的 32 位(4 字節)地址??梢詾?Object 的變量分配任何引用類型(字符串、數組、類或接口)。Object 變量還可以引用任何值類型(數值、Boolean、Char、Date、結構或枚舉)的數據。
Object 數據類型可以指向任意數據類型的數據,包括您的應用程序識別的任意對象實例。當您在編譯時不知道變量可能指向哪種數據類型時,請使用 Object。
Object 的默認值為 Nothing(空引用)。
數據類型?
可以將任何數據類型的變量、常數或表達式賦給 Object 變量。若要確定 Object 變量當前引用的數據類型,您可以使用 System.Type 類的 GetTypeCode 方法。下面的示例闡釋這一點。
Object 數據類型為引用類型。但是,當 Object 變量引用值類型的數據時,Visual Basic 將此變量視為一個值類型。
存儲?
無論它引用什么數據類型,Object 變量都不包含數據值本身,而是指向該值的一個指針。它總是在計算機內存中使用四個字節,但這不包括表示變量值的數據的存儲。由于使用指針定位數據的代碼的緣故,訪問持有值類型的 Object 變量比訪問顯式聲明類型的變量速度稍慢。
性能。 用 Object 類型聲明的變量足夠靈活,可以包含對任何對象的引用。但是,在這樣一個變量上調用方法或屬性時,總是會遇到后期綁定(在運行時)。若要強制前期綁定(在編譯時)和提高性能,請用特定的類名稱聲明變量,或將它強制轉換為特定數據類型。?
擴大。?所有數據類型和所有引用類型均擴大至 Object 數據類型。這意味著您可以將任意類型轉換為 Object,而不會遇到 System.OverflowException 錯誤。
但是,如果您在值類型和 Object 之間轉換,Visual Basic 會執行稱為裝箱和取消裝箱的操作,這將減慢執行速度。
總結
以上是生活随笔為你收集整理的C# object 类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自制AutoCAD实用工具
- 下一篇: C#中 object类型