1、System.Object
System.Object是VB.net所有类的父类(基类)。
把对象转换成其父类的类型时,只能使用父类提供的方法。
ToString方法可获得任意对象的字符串的表示。这个方法是默认实现方式是返回该对象的类型。
2、VB.net的类型:值类型、引用类型
VB.net主要有两个变量类型:值类型、引用类型
值类型:基本数据类型(除String),位于堆栈上,存储内存大小已知,故速度快。
引用类型:对象、String等,位于托管堆,大小由动态内存分配。其首地址放于栈上便于引用。
所有值类型在VB.net中都可称为结构类型
3、基本类型
Byte System.Byte
Short System.Int16
Integer System.Int32
Long System.Int64
Single System.Single
Double System.Double
Decimal System.Decimal
Date System.DateTime
Boolean System.Boolean
Char System.Char
String System.String
String是基本类型中唯一的引用类型
4、条件IF...Then...
可配合Else或ElseIf使用
因程序是顺序执行,为取得最佳性能,可将最常见条件放于条件最开始,这样为真时,下面就不用测试了。
5、比较运算符:= < <= >= >
另外还有And、Or进行逻辑叠加。
为了上面得取最佳性能,VB.net提供AndAlso,OrElse,这两个采用最短路径优化比较,只要比较前面一个条件就可取得逻辑值时,后面就不用比较了。
eg: if a>0 AndAlso b>0 then '如果第一条件为假,后面就不用测试
if c>0 OrElse d>0 then '如果第一条件为真,后面不就测试
另外还有对象的比较法:Is IsNot
eg: if mystring.GetType Is GetType(Integer) then '比较是否为int32
上面两者结束,对一个对象运算时,经常“分别”写出两个条件,首先判断不为空,再取某值。
有了上面可写在一个句中:
eg: if MyString IsNot Nothing AndAlso MyString.Length>5 then '不为空时再取长度
6、Select Case
技巧:同其它语句一样,输入Select后按Tab可自动跟踪语句,用Tab可切换不同输入位置
最后一个条件可用Case Else
7、Boolean
其值有True和False两个。为了适应以前VB6,也可转整形,True转为-1,False转为0。
为了适应不同系统的回车换行。VB.net中仍可用vbCRLF
标准写法Environment.NewLine
8、整形
为了兼容有不同的写法,请注意:
int16 , short, UInt16,Ushort
Int32, Integer,UInteger,UInt32
Int64,UInt64,Long, ULong,UInt64
net标准用前面,是这了迁移到不同平台如64位系统时,后面有些写法是为了兼容前面的版本,以后也许Integer不是32位,可能在64位机上是64位。
(1)Short Int16
占两字节,但有时机器为了优化速度,也许占4字节,但其值是不会变的。
对应SQL类型为 SmallInt类型
(2)Integer Int32
占4字节。为了解决迁移系统问题可使用用Int32。 如果为了脱离与底层的实现方式无关,可用Integer。
对应SQL为 Integer类型
(3)Long Int64
占8字节。 对应SQL类型为 BigInteger类型
(4)为了无符号类型,可在前面加上U,取值为非负,范围涨一倍。
范围扩大并不是用无符号数的主要原因,只是为了表征某些特征,比如UInt32和32位机上的指针地址有相同特征。
8、小数(浮点)
需要说明的是Currency已经停用。
(1)Single Double
单精度尾数6位,双精度尾数14,各表达的精度和范围不一样。
Dim a As Long=Long.MaxValue
赋值可以直接在定义后写。每种类型后面都可以用MaxValue和MinValue
(2)Decimal
Single,Double虽然表达的范围大,但它们的精度不够,增加Decimal,可达28位有效数值。
共占16字节128位,其中1位符号位,96位整数值,剩下的31位是比例因子,默认是以10为底,同时31位中还包括尾数中后置0.
(3)Char Byte
因VB.net是Unicode,Char故有2位,不仅英文,汉字亦可表达。
char是无符号,负数则是错误的,同时,char是不能直接与数值型进行转换的,须指明
由字符到数值: ASC() AscW()
由数值到字符:Chr() ChrW()
另外可在字符的后面加c表示是char型
Dim a as Char="d"c '因为Sting也是双引号,所以加C更能明确知道是Char
如果同一些Com交互时,char在VB.net并不能与之前的VB6中的char等同,须用Byte来代替
(4)DateTime
存储 IEEE 64 位(8 个字节)值,表示从 0001 年 1 月 1 日到 9999 年 12 月 31 日的日期以及从午夜 12:00:00 到晚上 11:59:59.9999999 的
时间。 每个增量表示从公历第 1 年的 1 月 1 日开始经过的 100 纳秒时间。 最大值表示 10000 年 1 月 1 日开始前的 100 纳秒。
由此可以看到并不是以前VB6的Double类型。为了和VB6兼容,用ToOADate和FromOADate来支持。
Now()继续用,添加 UtcNow() (即格林威治标准时)
作者:Tennal1020
转载自https://blog.csdn.net/dzweather/article/details/9455053