作为一个虽是Java出身,却啥都不懂的小白,看到vb(此后将vb.net简称为vb)语法的时候,并没有觉得失去人生的意义。
基础语法
同样作为面向对象语言,vb也有对象和类的概念,此处不再赘述。
标识符
标识符是用于标识类,变量,函数或任何其他用户定义项的名称。 在VB.Net中命名类的基本规则如下:
1.名称必须以字母开头,后跟一个字母,数字(0 - 9)或下划线。 标识符中的第一个字符不能是数字。
2.不可以出现这些符号:? - +! @#%^&*()[] {}。 ; :“'/\,但可以使用下划线_。
3.它不能是保留关键字。
关键词
| 关键字 | 描述 |
|---|---|
| Namespace | 包含类似或相关功能的类的集合 |
| Class | 用来定义一个类用以存储对象的属性、方法和事件 |
| Sub | 子过程,可以把要使用的数据以参数形式传入,但不返回值 |
| Function | 函数,同样可以传参数,但要求有返回值 |
| Property | 属性过程,设置或返回对象的属性值 |
| Return | 结束当前sub或function,若是函数则返回一个函数值 |
| Dim | 声明或定义一个变量 |
| New | 创建一个新的实例对象 |
| Nothing | 表示一个变量没有值,与其他语言或数据库中的null等价 |
| Me | 当前类的实例对象的引用 |
| Console | .NET用于访问和操作命令窗口的类,主要用于命令行应用程序 |
| Module | 模块,定义一个不是类的代码块,但它同样可以包含变量和方法 |
常见保留关键字与其他语言类似,不再赘述
数据类型
| 类型 | 关键字 |
|---|---|
| 数值型 | 整型(Short、Integer、Long和无符号的Byte)、非整型(Decimal 、Single、Double) |
| 字符型 | Char、String |
| 泛型 | List(Of T)、Dictionary(Of K,V) |
| 其他类型 | Boolean、Date、Object、Enum、Array、ArrayList、Structure |
数据定义方式
Const 常量名 As 常量类型=常量值 '简化后
Dim 变量名 As 变量类型=变量值 '简化后
以上为常见定义方式,详情
类型转换函数
| SN | 功能和说明 |
|---|---|
| 1 | CBool(表达式) 将表达式转换为布尔数据类型。 |
| 2 | CByte(表达式) 将表达式转换为字节数据类型。 |
| 3 | CChar(表达式) 将表达式转换为Char数据类型。 |
| 4 | CDate(表达式) 将表达式转换为Date数据类型 |
| 5 | CDbl(表达式) 将表达式转换为双精度数据类型。 |
| 6 | CDec(表达式) 将表达式转换为十进制数据类型。 |
| 7 | CInT(表达式) 将表达式转换为整数数据类型。 |
| 8 | CLng(表达式) 将表达式转换为长数据类型。 |
| 9 | CObj(表达式) 将表达式转换为对象类型。 |
| 10 | CSByte(表达式) 将表达式转换为SByte数据类型。 |
| 11 | CShort(表达式) 将表达式转换为短数据类型。 |
| 12 | CSng(表达式) 将表达式转换为单一数据类型。 |
| 13 | CStr的(表达式) 将表达式转换为字符串数据类型。 |
| 14 | CUInt(表达式) 将表达式转换为UInt数据类型。 |
| 15 | CULng(表达式) 将表达式转换为ULng数据类型。 |
| 16 | CUShort(表达式) 将表达式转换为UShort数据类型。 |
- Int()、CInt()、的区别是int不会四舍五入,CInt会。
另外
ToString()、Integer.Parse(要转换的值)、CType(要转换的值, 类型)、Convert.ToInt32(要转换的值)也是常用的类型转换函数。
Integer.TryParse(s,a)是一个很好的转换成数值的函数,s为要转换的值,如果转换成功将转换后的值赋给a,失败返回False。示例:
Dim str as String
Dim num as Integer
Console.WriteLine("请输入一个数:")
str = Console.ReadLine()
Do While (Integer.TryParse(str, num) = False)
Console.WriteLine("输入错误,请重新输入:")
str = Console.ReadLine()
Loop
Console.WriteLine("num:" & num)
Console.ReadKey()
-
Val()也是一个类型转换函数,它只截取第一次遇到非数字前的字符,若第一个字符不是数字则返回0。例如:
str = "12asd45"
num = Val(str) 'num的值为12
进制转换
直接看例子,原文
Sub main()
Dim i As Integer
i = 255
Console.WriteLine("十进制转为二进制:" & Convert.ToString(i, 2))
Console.WriteLine("十进制转为八进制:" & Convert.ToString(i, 8))
Console.WriteLine("十进制转为十六进制:" & Convert.ToString(i, 16))
Dim x As String
x = "11111111"
Console.WriteLine("二进制转为十进制:" & Convert.ToInt32(x, 2))
x = "377"
Console.WriteLine("二进制转为十进制:" & Convert.ToInt32(x, 8))
x = "ff"
Console.WriteLine("十六进制转为十进制:" & Convert.ToInt32(x, 16))
Console.ReadKey()
End Sub