特殊的VB.NET數(shù)據(jù)類型概述
我們?cè)?jīng)為大家介紹過(guò)幾種常見的VB.NET數(shù)據(jù)類型,大家也應(yīng)該能通過(guò)我們介紹的內(nèi)容充分掌握這些類型的應(yīng)用。下面大家將會(huì)了解到一些比較特殊的VB.NET數(shù)據(jù)類型,,以增加大家在這方面的知識(shí)面。#t#
除了 Visual Basic 提供的基本數(shù)據(jù)類型外,您還可以將不同類型的項(xiàng)組合起來(lái)以創(chuàng)建“復(fù)合數(shù)據(jù)類型”(如結(jié)構(gòu)、數(shù)組和類)??梢詮幕绢愋秃推渌麖?fù)合類型生成復(fù)合數(shù)據(jù)類型。例如,可以定義結(jié)構(gòu)元素的數(shù)組或者具有數(shù)組成員的結(jié)構(gòu)。
數(shù)據(jù)類型
復(fù)合類型與它的任一組件的VB.NET數(shù)據(jù)類型都不同。例如,一個(gè) Integer 元素的數(shù)組不是 Integer 數(shù)據(jù)類型。
數(shù)組數(shù)據(jù)類型通常使用元素類型、圓括號(hào)(必要時(shí)還包括逗號(hào))來(lái)表示。例如,String 元素的一維數(shù)組表示為 String();Boolean 元素的二維數(shù)組表示為 Boolean(,)。
結(jié)構(gòu)類型
沒(méi)有一種數(shù)據(jù)類型包含所有結(jié)構(gòu)。相反,每種結(jié)構(gòu)的定義都表示一種不同的數(shù)據(jù)類型,即使兩種結(jié)構(gòu)以相同的順序定義相同的元素。但是,如果創(chuàng)建同一結(jié)構(gòu)的兩個(gè)或更多的實(shí)例,Visual Basic 將認(rèn)為它們屬于同一數(shù)據(jù)類型。
數(shù)組類型
沒(méi)有一種VB.NET數(shù)據(jù)類型包含所有數(shù)組。數(shù)組的某個(gè)特定實(shí)例的數(shù)據(jù)類型取決于以下方面:
確實(shí)為數(shù)組
數(shù)組的秩(維數(shù))
數(shù)組的元素類型
特別是,給定維度的長(zhǎng)度不是實(shí)例的數(shù)據(jù)類型的一部分。下面的示例闡釋這一點(diǎn)。
- Dim arrayA( ) As Byte = New Byte(12) {}
- Dim arrayB( ) As Byte = New Byte(100) {}
- Dim arrayC( ) As Short = New Short(100) {}
- Dim arrayD( , ) As Short
- Dim arrayE( , ) As Short = New Short(4, 10) {}
在上例中,盡管數(shù)組變量 arrayA 和 arrayB 被初始化為不同的長(zhǎng)度,但它們均被視為同一數(shù)據(jù)類型:Byte()。變量 arrayB 和 arrayC 不屬于同一類型,因?yàn)樗鼈兊脑仡愋筒煌?。變?arrayC 和 arrayD 不屬于同一類型,因?yàn)樗鼈兊闹炔煌?。變?arrayD 和 arrayE 屬于同一類型 Short(,),因?yàn)樗鼈兊闹群驮仡愋途嗤词?arrayD 還未初始化。
有關(guān)數(shù)組的更多信息,請(qǐng)參見數(shù)組 (Visual Basic)。
VB.NET數(shù)據(jù)類型之類類型
沒(méi)有一種VB.NET數(shù)據(jù)類型包含所有類。雖然一個(gè)類可以從另一個(gè)類繼承,但每一個(gè)類均為單獨(dú)的數(shù)據(jù)類型。同一類的多個(gè)實(shí)例具有相同的數(shù)據(jù)類型。如果將一個(gè)類實(shí)例變量賦給另一個(gè)類,它們不僅具有相同的數(shù)據(jù)類型,還在內(nèi)存中指向相同的類實(shí)例。