微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VB.NET入门五:数组,枚举与结构体

http://210.27.228.219/ComputerManage/PhyItem/phytwo.htm

大学计算机实验 (VB语言)
http://www.cnblogs.com/xiaoqun/

VB.NET入门

写复杂点的程序,就会觉得单个变量不好使用,用保存的数据太多了。还好VB.NET给我们提供了几种高级一点的用来存储数据的结构:数组,枚举与结构体

1.数组,多个数据类型相同的数据的集合,顺序排放。

代码
'5-1.vb
   
   
Class SimpleCnl Public Shared Sub Main() Dim i As Integer allowedExtensions() String = { " .jpg " , bmp gif } fileExtension isAllowed Boolean False System.Console.ReadLine() For 0 To allowedExtensions.Length - 1 If allowedExtensions(i) fileExtension.ToLower Then True Exit End Next System.Console.WriteLine( 允许上传 ) Else 文件类型不允许 End Sub End Class

二维数组要复杂,但我们要搞明白的还是怎样定义,怎样初始化,怎样访问。有个问题要记住的Dim a(9),数组a的长度是10

2.枚举

枚举规定了数据的取值范围,用更有意义的名称来代表一个

代码
'5-2.vb
   
   
Enum CRUD Create = 100 Retrive Update Delete End Enum commandName CRUD System.Console.WriteLine( 选择要执行的操作CRUB:Create,Retrive,Update,Delete ) commandName System.Enum.Parse( GetType (CRUD),System.Console.ReadLine()) Select Case CRUD.Create System.Console.WriteLine( 增加记录 CRUD.Retrive System.Console.WriteLine( 检索记录 CRUD.Update System.Console.WriteLine( 更新记录 CRUD.Delete System.Console.WriteLine( 删除记录 ) 3.结构体,多个变量的组合体,用来共同描述某一事物整体

代码
'5-3.vb 多项式相加
   
   
Structure Term coef ' 系数 exp 指数 New ( ByVal c e ) coef End Structure polynomialA() { Term( ),128)">2 )} polynomialB() 4 polynomialC(polynomialA.Length + polynomialB.Length) i,j,k : j : k Do While < polynomialA.Length And j polynomialB.Length polynomialA(i).exp polynomialB(j).exp polynomialC(k).exp polynomialA(i).exp polynomialC(k).coef polynomialA(i).coef i += ElseIf > polynomialB(j).exp polynomialC(k).coef polynomialB(j).coef j polynomialA(i).coef polynomialB(j).coef i k Loop polynomialB.Length polynomialC(k).exp polynomialA.Length polynomialC(k).exp ReDim Preserve polynomialC(k - )
    '输出相加后得到的多项式 k System.Console.Write( {0}x^{1} + polynomialC(k).coef,polynomialC(k).exp) k Until polynomialC.Length {0}x^{1} polynomialC(k).exp) End Class

VB6结构体

Option Explicit

Private Type lk '定义结构体 这个要写到外面
x As Long
y As Long
z As Long
End Type

Sub aldkjf()
Dim p() As lk '定义动态数组
Dim a As Long,b As Long,c As Long,d As Long
For a = 2 To 98 'a循环从2到98
For b = 2 To 98 'b循环从2到98
c = a * b
If c > 40 Then '当c大于40时,给动态数组赋值
ReDim Preserve p(d)
p(d).x = a
p(d).y = b
p(d).z = c
MsgBox p(d).x & p(d).y & p(d).z '显示动态数组中的3个元素
d = d + 1
End If'记得加 END IF
Next
End Sub
Private Sub Command1_Click()'需要一个事件来触发一下
Call aldkjf
End Sub

这三种结构,实际使用的都很多,要想用的好,就得多练。

数组与结构体的区别

他们都是数据结构,不过数组只能存放同样类型的数据,而结构体则能够存放不同类型的数据,结构体里面也可以有结构体。
数组是一组同类型的数据集合,形象简单点你可以认为是数学的数列;
而结构体是一类特殊的数据类型,由自己定义,比如说我们做一个钟的类,我们定义钟的数据结构,就可以用结构体定义三个整型变量(分、时、秒)作为钟的数据结构,三个整型变量作为一个结构体。
数组线性的 只能储存一种类型的数据
如 int a[10]
结构体能储存多种类型的数据 如 
struct tree{
int i;
char a[10];
double t;
}a;

原文地址:https://www.jb51.cc/vb/260869.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐