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)
返回表達(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ù)類型。
“結(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;
}
你可以用結(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)