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