vbnet自定义结构 vbnet菜鸟教程

VB.NET自定义结构中包含数组,REDIM后地址还是连续的吗?

一. 前提定要声明数组,需要赋值或者标明维数例dim a() as integer 二. 使用redim重新定义数组数组数据全部初始化要保留原数据加preserve 三 redim能修改数据维数能改变数组类型 四 redim 能够全局声

创新互联建站是一家集网站建设,龙华企业网站建设,龙华品牌网站建设,网站定制,龙华网站建设报价,网络营销,网络优化,龙华网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

VB 自定义结构数组

Option Explicit

'定义结构体,注意,此处如果用到字符串变量,要设置定长

Private Type typUser

uid As Long

uName As String * 10 '定长10个字符

uPWD As String * 10

End Type

Dim user(10) As typUser

'读取

Dim userGet(10) As typUser

Private Sub Form_Load()

'随便填充数据

Dim i As Integer

For i = 0 To 10

With user(i)

.uid = i

.uName = Rnd * 99999

.uPWD = Rnd * 88888

End With

Next

'保存结构体数组到文件

Open App.Path "\save.dat" For Random As #1 Len = Len(user(0)) 'Random方式打开文件,这里的len是每条记录的长度

For i = 0 To 10

Put #1, , user(i)

Next

Close #1

'从文件中读取结构体

Open App.Path "\save.dat" For Random As #1 Len = Len(user(0))

For i = 0 To 10

Get #1, i + 1, userGet(i)

Next

Close #1

End Sub

我想知道在vb.net里怎么实现自定义数据类型,就是实现C++中TypeDef一样的功能

“结构”是 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;

}

新人vb.net 怎么自定义类型

其实就是结构体,如下面

Public Structure My_type

Public type_1 As Integer

Public type_2 As String

Public type_3 As Double

End Structure


当前标题:vbnet自定义结构 vbnet菜鸟教程
网站网址:http://myzitong.com/article/hejges.html