“結構”是 Visual Basic 早期版本支持的用戶定義類型 (UDT) 的一般化。除字段外,結構還可以公開屬性、方法和事件。結構可以實現一個或多個接口,而您可以分別為每個字段聲明訪問級別。
目前創新互聯建站已為上千的企業提供了網站建設、域名、虛擬主機、綿陽服務器托管、企業網站設計、和縣網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。
可以合并不同類型的數據項來創建結構。結構將一個或多個“元素”彼此關聯并且將它們與結構本身關聯。聲明了結構后,它將成為“復合數據類型”,而您可以聲明該類型的變量。
想讓單個變量持有幾個相關信息時結構很有用。例如,您可能想將一個雇員的姓名、電話分機號和薪金放在一起。可以對這些信息使用幾個變量,或者可以定義一個結構并將它用于單個雇員變量。當有許多雇員并且因此有該變量的許多實例時,結構的優點變得非常明顯。
使用 Structure 語句語句作為結構聲明的開始,并使用 EndStructure 語句作為結構聲明的結束。在這兩條語句之間必須至少聲明一個“元素”。元素可以是任何數據類型,但是至少一個必須是非共享變量,或是非共享非自定義事件。
不能在結構聲明中初始化任何結構元素。如果將一個變量聲明為結構類型,則可以通過變量訪問元素來給它們賦值。
聲明一個結構:
可以使用 Public、Protected、Friend或Private關鍵字指定結構的訪問級別,或者使用默認值 Public。如:
Private Structure employee
End Structure
向結構體添加元素:
結構必須具有至少一個元素。必須聲明結構的每個元素并指定其訪問級別。如果使用不含任何關鍵字的 Dim 語句 (Visual Basic),則可訪問性默認值為 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
---------------------------
另外,關于你的問題,請參考下面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;
}
Public?Class?Form2
Dim?test?As?String
Public?Sub?New(ByVal?_test?As?String)
test?=?_test
End?Sub
End?Class
Form1 中 New Form2("abc") 即可傳參給 Form2 中的 test。
但在 VB.NET 中,沒必要這么麻煩,只需要聲明為 Public,即可直接方法,如:
Public?Class?Form2
Public?test?As?String
End?Class
Form1 中直接 Form2.test = "abc" 即可。
把“...”替換成你要初始化的數據。一個簡單的例子: Dim a(3) As Integer = { 0, 1, 2 }**修改**既然有界數組不能初始化,就還缺(?。┙鐢到M試試嘛: Dim a() As Integer = { 0, 1, 2 } 類型不匹配的錯誤估計是你的結構體缺少構造函數造成的。在你的quality_i結構體定義里面加一個構造函數,如下所示 Public Structure quality_i Public nub As Integer Public nae As String Public Sub New(ub As Integer, ae As String)nub = ubnae = aeEnd SubEnd Structure 然后以如下方式初始化: Dim k() As quality_i = {
網頁題目:vb.net+構造體用法 vb structure 結構
標題網址:http://www.2m8n56k.cn/article0/doggioo.html
成都網站建設公司_創新互聯,為您提供靜態網站、建站公司、響應式網站、自適應網站、全網營銷推廣、動態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯