vb.net復(fù)合數(shù)據(jù)類型 VB數(shù)據(jù)類型

VB.NET的數(shù)據(jù)類型轉(zhuǎn)換方式主要有哪幾種?

CType 函數(shù)

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請域名、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、沁水網(wǎng)站維護(hù)、網(wǎng)站推廣。

任何數(shù)據(jù)類型

必須在兩種數(shù)據(jù)類型之間定義擴(kuò)大轉(zhuǎn)換或收縮轉(zhuǎn)換

引發(fā) InvalidCastException

DirectCast

任何數(shù)據(jù)類型

一個(gè)類型必須繼承自或者實(shí)現(xiàn)另一個(gè)類型

引發(fā) InvalidCastException

TryCast

僅引用類型

一個(gè)類型必須繼承或者實(shí)現(xiàn)另一個(gè)類型

返回 Nothing (Visual Basic)

誰知道vb.net如何進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換???是否和c#一樣啊

返回表達(dá)式顯式地轉(zhuǎn)換為指定數(shù)據(jù)類型、對象、結(jié)構(gòu)、類或接口后的結(jié)果。

CType(expression, typename)各部分說明expression任何有效的表達(dá)式。如果 expression 的值超出了 typename 所允許的范圍,將會(huì)出現(xiàn)錯(cuò)誤。

typename任何在 Dim 語句的 AS 子句內(nèi)合法的表達(dá)式,即任何數(shù)據(jù)類型、對象、結(jié)構(gòu)、類或接口的名稱。

備注CType 采用內(nèi)聯(lián)方式編譯,即轉(zhuǎn)換代碼是計(jì)算表達(dá)式的代碼的一部分。因?yàn)椴恍枰{(diào)用完成轉(zhuǎn)換的過程,因此執(zhí)行速度更快。

示例本示例使用 CType 函數(shù)將表達(dá)式轉(zhuǎn)換為指定的數(shù)據(jù)類型。

我想知道在vb.net里怎么實(shí)現(xiàn)自定義數(shù)據(jù)類型,就是實(shí)現(xiàn)C++中TypeDef一樣的功能

“結(jié)構(gòu)”是 Visual Basic 早期版本支持的用戶定義類型 (UDT) 的一般化。除字段外,結(jié)構(gòu)還可以公開屬性、方法和事件。結(jié)構(gòu)可以實(shí)現(xiàn)一個(gè)或多個(gè)接口,而您可以分別為每個(gè)字段聲明訪問級(jí)別。

可以合并不同類型的數(shù)據(jù)項(xiàng)來創(chuàng)建結(jié)構(gòu)。結(jié)構(gòu)將一個(gè)或多個(gè)“元素”彼此關(guān)聯(lián)并且將它們與結(jié)構(gòu)本身關(guān)聯(lián)。聲明了結(jié)構(gòu)后,它將成為“復(fù)合數(shù)據(jù)類型”,而您可以聲明該類型的變量。

想讓單個(gè)變量持有幾個(gè)相關(guān)信息時(shí)結(jié)構(gòu)很有用。例如,您可能想將一個(gè)雇員的姓名、電話分機(jī)號(hào)和薪金放在一起。可以對這些信息使用幾個(gè)變量,或者可以定義一個(gè)結(jié)構(gòu)并將它用于單個(gè)雇員變量。當(dāng)有許多雇員并且因此有該變量的許多實(shí)例時(shí),結(jié)構(gòu)的優(yōu)點(diǎn)變得非常明顯。

使用 Structure 語句語句作為結(jié)構(gòu)聲明的開始,并使用 EndStructure 語句作為結(jié)構(gòu)聲明的結(jié)束。在這兩條語句之間必須至少聲明一個(gè)“元素”。元素可以是任何數(shù)據(jù)類型,但是至少一個(gè)必須是非共享變量,或是非共享非自定義事件。

不能在結(jié)構(gòu)聲明中初始化任何結(jié)構(gòu)元素。如果將一個(gè)變量聲明為結(jié)構(gòu)類型,則可以通過變量訪問元素來給它們賦值。

聲明一個(gè)結(jié)構(gòu):

可以使用 Public、Protected、Friend或Private關(guān)鍵字指定結(jié)構(gòu)的訪問級(jí)別,或者使用默認(rèn)值 Public。如:

Private Structure employee

End Structure

向結(jié)構(gòu)體添加元素:

結(jié)構(gòu)必須具有至少一個(gè)元素。必須聲明結(jié)構(gòu)的每個(gè)元素并指定其訪問級(jí)別。如果使用不含任何關(guān)鍵字的 Dim 語句 (Visual Basic),則可訪問性默認(rèn)值為 Public。如:

Private Structure employee

Public givenName As String

Public familyName As String

Public phoneExtension As Long

Private salary As Decimal

Public Sub giveRaise(raise As Double)

salary *= raise

End Sub

Public Event salaryReviewTime()

End Structure

---------------------------

另外,關(guān)于你的問題,請參考下面C++/C對自定義類型的比較:

1、在C++中,不需使用typedef

struct Structure1 {

char c;

int i;

float f;

double d;

};

int main() {

struct Structure1 s1, s2;

s1.c = 'a'; // Select an element using a '.'

s1.i = 1;

s1.f = 3.14;

s1.d = 0.00093;

s2.c = 'a';

s2.i = 1;

s2.f = 3.14;

s2.d = 0.00093;

}

2、在C中,需用typedef定義

typedef struct {

char c;

int i;

float f;

double d;

} Structure2;

int main() {

Structure2 s1, s2;

s1.c = 'a';

s1.i = 1;

s1.f = 3.14;

s1.d = 0.00093;

s2.c = 'a';

s2.i = 1;

s2.f = 3.14;

s2.d = 0.00093;

}

vb.net在數(shù)組定義中如何使用復(fù)合數(shù)據(jù)類型

你可以用結(jié)構(gòu)數(shù)組的,如下:

...

Private Structure test

Dim name As String

Dim sex As String

Dim age As Integer

Dim salary As Integer

End Structure

Dim list(2) As test

Private Sub insert()

list(0).name = "張三"

list(0).age = "20"

list(0).salary = "1500"

list(0).sex = "男"

list(1).name = "李四"

list(1).age = "21"

list(1).salary = "1500"

list(1).sex = "女"

End Sub

...

你可以放到main()里輸出一下,就是這樣...

文章名稱:vb.net復(fù)合數(shù)據(jù)類型 VB數(shù)據(jù)類型
URL標(biāo)題:http://muchs.cn/article38/hphhsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、用戶體驗(yàn)手機(jī)網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)