
正文
vb.net中结构类型 vbnet implements
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
vb的结构体是什么呢
VB的结构体是用Type 语句,在模块级别中使用,用于定义包含一个或多个元素的用户自定义的数据类型。
Type 语句,在模块级别中使用,用于定义包含一个或多个元素的用户自定义的数据类型。
Type 语句示例,该示例使用 Type 语句,定义用户自定义的数据类型。Type 语句只能在模块级使用。如果要在类模块中使用,则必须在 Type 语句前冠以关键字 Private。
Type EmployeeRecord '创建用户自定义的类型。
ID As Integer '定义元素的数据类型。
Name As String * 20
Address As String * 30
Phone As Long
HireDate As Date
End Type
Sub CreateRecord()
Dim MyRecord As EmployeeRecord '声明变量。
'对 EmployeeRecord 变量的赋值必须在过程内进行。
MyRecord.ID = 12003 '给一个元素赋值。
End Sub
相关问答
Q1: 我想知道在vb.net里怎么实现自定义数据类型,就是实现C++中TypeDef一样的功能
“结构”是 Visual Basic 早期版本支持vb.net中结构类型的用户定义类型 (UDT) 的一般化。除字段外,结构还可以公开属性、方法和事件。结构可以实现一个或多个接口,而您可以分别为每个字段声明访问级别。
可以合并不同类型的数据项来创建结构。结构将一个或多个“元素”彼此关联并且将它们与结构本身关联。声明vb.net中结构类型了结构后,它将成为“复合数据类型”,而您可以声明该类型的变量。
想让单个变量持有几个相关信息时结构很有用。例如,您可能想将一个雇员的姓名、电话分机号和薪金放在一起。可以对这些信息使用几个变量,或者可以定义一个结构并将它用于单个雇员变量。当有许多雇员并且因此有该变量的许多实例时,结构的优点变得非常明显。
使用 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
---------------------------
另外,关于vb.net中结构类型你的问题,请参考下面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;
}
Q2: vb.net 定义变量 ,类型,对象问题?
在.NET中,对象和结构还是有些不同的,定义方式也是其中之一。
像整型、字符串和一些数值类型都属于结构。结构只需要这样定义就可以了:
Dim str As String
系统自动分配内存,然后就可以对它进行访问了。
如果像这样声明普通类:
Dim cla As Class
此时直接访问cla类成员会引发一个null异常。因为你仅仅声明了cla的类型(cla是Class类型的),而内存中没有一个真正的对象(类的实例)。如果你需要一个实例,就需要用New关键字,例如:
Dim cla As New Class("some words")
这时系统会建立一个Class对象,并将cla指向这个对象。这样就完成了一次实例化。这时就可以直接访问cla的成员了。
在实例化时,系统会调用对象的New函数,即构造函数。后面括号里的内容并不是对象的属性,而是要传递给这个构造函数的参数。至于对象的构造函数是否需要参数、需要多少参数以、参数的类型及重载情况等,取决于要实例化的类型。
上面的Class只是例子,代换成实际的类即可。
Q3: vb简述结构类型与结构变量的区别
vb简述结构类型与结构变量的区别:
1、内存单元不同,结构类型变量:系统为结构类型变量分配实际的内存单元,并在其中存放具体的数据。结构体成员变量:结构体成员变量系统不为之分配实际的内存单元。
2、编译不同,结构类型变量:在编译时,系统不为结构类型变量的类型分配空间。结构体成员变量:在编译时,系统为结构体成员变量的类型分配空间。
3、赋值不同,结构类型变量:不同结构类型的变量不允许相互赋值,即使它们有相同的成员。结构体成员变量:结构体成员变量的为。不同结构体只要有相同的成员,允许相互赋值。
Q4: VB.NET 里 结构(Structure)和类(Class)有什么区别?如题 谢谢了
Structure是值类型,classe是引用类型 Structure用栈来分配; classe用堆来分配 structure的成员默认情况下是公共的,而Class的成员变量和常量默认情况下是私有的而其它成员默认情况下是公共的.这与VB6是相兼容的。 structure必须至少有一个非共享的成员变量或事件成员,class可以完全是空的. Structure的成员不能声明成Protected; class成员可以. 一个structure过程只能在它是一个Shared Sub时才能handle events而且只能通过AddHandler语句;而任何class过程都可以handle events,既可以用Handles关键字或 AddHandler语句。 Structure variable declarations cannot specify initializers, the New keyword, or initial sizes for arrays; class variable declarations can. Structure继承自ValueType类,不能从其它任何类型继承; classes可以从任何不是ValueType的类继承 Structure不能继承而Class可以 Structure从来不析构terminated因此common language runtime (CLR)从来不调用它的Finalize方法,classe由垃圾回收器进行析构, 当没有任何对该类的引用时调用它的Finalize方法 structure 不需要一个构造函数,而Class需要 Structure只能有带参数的非共享的构造函数; classes 可以有带或不带参数的构造函数. 每个Structure都有一个默认的不带参数的构造函数以对其成员进行初始化,你可以重新定义该函数
vb.net中结构类型的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vbnet implements、vb.net中结构类型的信息别忘了在本站进行查找喔。






