VB.NET入门 - 数组、枚举和结构体
写复杂点的程序,就会觉得单个变量不好使用,用保存的数据太多了。还好VB.NET给我们提供了几种高级一点的用来存储数据的结构:数组,枚举与结构体。
1.数组,多个数据类型相同的数据的集合,顺序排放。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
'5-1.vbClass SimpleCnl Public Shared Sub Main() Dim i As Integer Dim allowedExtensions() As String = {".jpg", "bmp", "gif"} Dim fileExtension As String Dim isAllowed As Boolean = False fileExtension = System.Console.ReadLine() For i = 0 To allowedExtensions.Length-1 If allowedExtensions(i) = fileExtension.ToLower Then isAllowed = True Exit For End If Next If isAllowed Then System.Console.WriteLine("允许上传") Else System.Console.WriteLine("文件类型不允许") End If End SubEnd Class |
二维数组要复杂,但我们要搞明白的还是怎样定义,怎样初始化,怎样访问。有个问题要记住的Dim a(9),数组a的长度是10。
2.枚举
枚举规定了数据的取值范围,用更有意义的名称来代表一个值。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
'5-2.vbClass SimpleCnl Public Enum CRUD Create=100 Retrive Update Delete End Enum Public Shared Sub Main() Dim commandName As CRUD System.Console.WriteLine("选择要执行的操作CRUB:Create,Retrive,Update,Delete") commandName = System.Enum.Parse(GetType(CRUD), System.Console.ReadLine()) Select Case commandName Case CRUD.Create System.Console.WriteLine("增加记录") Case CRUD.Retrive System.Console.WriteLine("检索记录") Case CRUD.Update System.Console.WriteLine("更新记录") Case CRUD.Delete System.Console.WriteLine("删除记录") End Select End SubEnd Class |
3.结构体,多个眼睛肿了怎么办变量的组合体,用来共同描述某一事物整体
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
'5-3.vb 多项式相加Class SimpleCnl Public Structure Term Dim coef As Integer '系数 Dim exp As Integer '指数 Sub New(ByVal c As Integer, ByVal e As Integer) coef = c exp = e End Sub End Structure Public Shared Sub Main() Dim polynomialA() As Term = {New Term(1, 0), New Term(1, 1), New Term(1, 2)} Dim polynomialB() As Term = {New Term(1, 1),New Term(1,4)} Dim polynomialC(polynomialA.Length + polynomialB.Length) As Term Dim i, j, k As Integer i = 0 : j = 0 : k = 0 Do While i < polynomialA.Length And j < polynomialB.Length If polynomialA(i).exp < polynomialB(j).exp Then polynomialC(k).exp = polynomialA(i).exp polynomialC(k).coef = polynomialA(i).coef i += 1 ElseIf polynomialA(i).exp > polynomialB(j).exp Then polynomialC(k).exp = polynomialB(j).exp polynomialC(k).coef = polynomialB(j).coef j += 1 Else polynomialC(k).exp = polynomialA(i).exp polynomialC(k).coef = polynomialA(i).coef + polynomialB(j).coef i += 1 j += 1 End If k += 1 Loop If i = polynomialA.Length Then Do While j < polynomialB.Length polynomialC(k).exp = polynomialB(j).exp polynomialC(k).coef = polynomialB(j).coef j += 1 k += 1 Loop Else Do While i < polynomialA.Length polynomialC(k).exp = polynomialA(i).exp polynomialC(k).coef = polynomialA(i).coef i += 1 k += 1 Loop End If ReDim Preserve polynomialC(k - 1) '输出相加后得到的多项式 k = 0 Do System.Console.Write("{0}x^{1} + ", polynomialC(k).coef, polynomialC(k).exp) k += 1 Loop Until k = polynomialC.Length - 1 System.Console.Write("{0}x^{1} ", polynomialC(k).coef, polynomialC(k).exp) End SubEnd Class |
这三种结构,实际使用的都很多,要想用的好,就得多练。
浙公网安备 33010602011771号