7、模块 。VB支持模块,C#不支持 。但也没有关系,只要在C#中制造一个abstract类,共享所有成员 , 就和模块一样了 。当然不能像VB一样直接访问模块中的成员,需要用到“类名.成员名”的用法 。
8、接口 。C#在接口方面也没有VB强大(怎么这么重要的功能也不做得好一点?),VB采用Implements语句结合接口的成员和类的实现成员,而C#是用名称结合 。因此VB就可以随便修改实现成员的访问级别和名称,而C#就不能改名称 。将C#移植为VB时,最好利用VB.net编辑器直接实现接口,比较简单 。把VB移植为C#时,就必须把改过的名字都改回来 , 遇到名字冲突就更讨厌了(这时候我几乎不想再移植为C#了) 。给一个例子:
[Visual Basic]
Public Class Class1:Implements IMyInterface
Public Sub DoSth()Implements IMyInterface.Method1
End Sub
End Class
[C#]
public class Class1:IMyInterface
{
public void Method1()
{
}
}
9、运算符重载 。这会遇到VB头痛了 , 既然VB不支持运算符重载,那么就必须用子程序和函数来模拟运算符 。比如建立Plus和Minus方法模拟+和-的运算 。当然还是有很多情况(比如遇上了explicit和implicit语句)就真的没有办法了,只好不移植了 。运算符重载是一个很不错的功能,它能使很多操作简单地完成 , 如果VB支持它 , 就真的是完美语言了 。
怎样在vb中定义float数据类型Single和Double就是VB中的float(浮点)类型 。Single是单精度浮点数 , 占用4个字节;Double是双精度浮点数 , 占用8个字节 。
我想知道在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
推荐阅读
- 主播直播要求,主播直播要求怎么写
- 包含redis定时原理的词条
- 为什么视频会有彩蛋出现,为什么视频会有波纹
- 萤石云视频用什么网络,萤石云视频用什么网络都显示网络异常
- mysql怎么创造表 mysql创建表教程
- redisgeo的使用,redisgem
- 在视频号上怎么建小号,视频号如何创建
- python求函数长度 python求长度的函数
- go语言精髓教学视频,go语言从入门到进阶实战