特殊的VB.NET數(shù)據(jù)類型概述
我們曾經(jīng)為大家介紹過幾種常見的VB.NET數(shù)據(jù)類型,大家也應(yīng)該能通過我們介紹的內(nèi)容充分掌握這些類型的應(yīng)用。下面大家將會了解到一些比較特殊的VB.NET數(shù)據(jù)類型,,以增加大家在這方面的知識面。#t#
除了 Visual Basic 提供的基本數(shù)據(jù)類型外,您還可以將不同類型的項組合起來以創(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ù)類型都不同。例如,一個 Integer 元素的數(shù)組不是 Integer 數(shù)據(jù)類型。
數(shù)組數(shù)據(jù)類型通常使用元素類型、圓括號(必要時還包括逗號)來表示。例如,String 元素的一維數(shù)組表示為 String();Boolean 元素的二維數(shù)組表示為 Boolean(,)。
結(jié)構(gòu)類型
沒有一種數(shù)據(jù)類型包含所有結(jié)構(gòu)。相反,每種結(jié)構(gòu)的定義都表示一種不同的數(shù)據(jù)類型,即使兩種結(jié)構(gòu)以相同的順序定義相同的元素。但是,如果創(chuàng)建同一結(jié)構(gòu)的兩個或更多的實例,Visual Basic 將認(rèn)為它們屬于同一數(shù)據(jù)類型。
數(shù)組類型
沒有一種VB.NET數(shù)據(jù)類型包含所有數(shù)組。數(shù)組的某個特定實例的數(shù)據(jù)類型取決于以下方面:
確實為數(shù)組
數(shù)組的秩(維數(shù))
數(shù)組的元素類型
特別是,給定維度的長度不是實例的數(shù)據(jù)類型的一部分。下面的示例闡釋這一點。
- 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 被初始化為不同的長度,但它們均被視為同一數(shù)據(jù)類型:Byte()。變量 arrayB 和 arrayC 不屬于同一類型,因為它們的元素類型不同。變量 arrayC 和 arrayD 不屬于同一類型,因為它們的秩不同。變量 arrayD 和 arrayE 屬于同一類型 Short(,),因為它們的秩和元素類型均相同,即使 arrayD 還未初始化。
有關(guān)數(shù)組的更多信息,請參見數(shù)組 (Visual Basic)。
VB.NET數(shù)據(jù)類型之類類型
沒有一種VB.NET數(shù)據(jù)類型包含所有類。雖然一個類可以從另一個類繼承,但每一個類均為單獨的數(shù)據(jù)類型。同一類的多個實例具有相同的數(shù)據(jù)類型。如果將一個類實例變量賦給另一個類,它們不僅具有相同的數(shù)據(jù)類型,還在內(nèi)存中指向相同的類實例。