變量基礎(chǔ)知識
變量是用來存放某個值的標識,它可以是一個數(shù)字、一個字符串、一個結(jié)構(gòu)、一個類等。在代碼中,變量的值是可以改變的。
聲明/定義一個變量使用以下方法:
dim userName as String //dim 變量名稱 as 變量類型
userName="sh"http://賦值方法1
dim userName as String=“sh”//賦值方法2
需要注意的是:= 除了是賦值符號,也是判斷相等的運算符
變量String
兩個字符串連接在一起可以通過“&"或者"+",
但是需要注意的是,有時候用”+“ 連接字符串和其他類型數(shù)據(jù)時候,使用不當會產(chǎn)生錯誤。
Public Module modmain
Sub Main()
dim userName as String="22"
dim age as Integer=20
Console.WriteLine(userName+age)//輸出42
End Sub
End Module
浮點數(shù)分為:single 和 double
數(shù)值的運算:
加法 +
減法 -
乘法 *
除法 /
取整 \
取余數(shù) mod a mod b
求冪 ^ a^b
Not:求反,如果是真,返回假;如果是假,返回真。
And:邏輯與,如果兩個表達式都是真,那么返回真,否則返回假。
Or:邏輯或,如果兩個表達式至少有一個是真,那么返回真,否則返回假。
XOr:異或,如果兩個表達式同時為真或同時為假,那么返回假,否則返回真。
標紅可以為位運算符
普通計算
Public Module modmain
Sub Main()
dim booleanT as boolean=true
dim booleanF as boolean=false
Console.WriteLine(NOT booleanT) //false
Console.WriteLine(booleanT AND booleanF) //false
Console.WriteLine(booleanT OR booleanF) //true
Console.WriteLine(booleanT XOR booleanF) //true
End Sub
End Module
位計算
Public Module modmain
Sub Main()
dim integer1 as Integer=2
dim integer2 as Integer=5
Console.WriteLine(integer1 OR integer2) //7
Console.WriteLine(integer1 XOR integer2)//7
Console.WriteLine(integer1 AND integer2)//0
End Sub
End Module

數(shù)據(jù)轉(zhuǎn)換
CType(expression,typename)
CType函數(shù)作用于兩個參數(shù)。第一個參數(shù)是將要轉(zhuǎn)換的表達式,第二個參數(shù)是目標類型或?qū)ο箢悺?br> 注意,第一個參數(shù)必須是表達式,不能是類型。
進制間的轉(zhuǎn)換
ToString(value As Integer, toBase As Integer)
輸出字符串,value表示對應的十進制數(shù)值,toBase只能是2、8、10或者16,表示進制。
ToInt32 (value As String, fromBase As Integer)
輸出Int32整數(shù),value字符串表示一個二進制、八進制和、十進制或者十六進制的數(shù),fromBase只能是2、8、10或者16,表示進制。
日期時間類型
vb.net中日期時間函數(shù)使用DateTime,vb6中用的是Date,vb.net中也可以將日期時間定義為Date,兩者幾乎沒有區(qū)別。
Public Module modmain
Sub Main()
dim dateA as DateTime=now()
dim dateB as DateTime=new DateTime(2018,10,24,14,15,20) //設(shè)置特定值
Console.WriteLine (dateA)
Console.WriteLine (dateB)
End Sub
End Module
Format將日期類型轉(zhuǎn)換為指定格式
Sub Main()
dim dateA as DateTime=now()
Console.WriteLine (dateA)
Console.WriteLine(Format(dateA, "yyyy-MM-dd HH:mm:ss"))//輸出
10/25/2018 06:26:23
2018-10-25 06:26:23
End Sub
End Module
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear) 返回一個 Long 值,該值指定兩個 Date 值之間的時間間隔數(shù)。
DateDiff()的第一個參數(shù)是一個字符串或者是DateInterval 枚舉,包括DateInterval.Year 等。
Sub Main()
dim dateA as DateTime=Date.now()
dim dateLeft=new DateTime(2019,4,1,12,23,20)
Console.WriteLine(DateDiff("d",dateA,dateLeft))//輸出158
End Sub
End Module
或者
Sub Main()
dim dateA as DateTime=Date.now()
dim dateLeft=new DateTime(2019,4,1,12,23,20)//輸出158
Console.WriteLine(dateLeft.Subtract(dateA))
End Sub
End Module
添加日期
Sub Main()
dim dateA as DateTime=Date.now()
dim dateLeft=new DateTime(2019,4,1,12,23,20)
Console.WriteLine(dateLeft.AddHours(1))
Console.WriteLine(dateLeft.AddYears(1))//輸出
04/01/2019 13:23:20
04/01/2020 12:23:20
End Sub
End Module
一維數(shù)組
Sub Main()
dim userNameS(10) as String//可容納11個人
userNameS(0)="小明"
Console.WriteLine(userNameS(0))
ReDim Preserve userNameS(39)
Console.WriteLine(userNameS(0))
ReDim userNameS(39)
Console.WriteLine(userNameS(0))
End Sub
End Module
上例中只輸出
2次小明因為ReDim userNameS(39) 會清空數(shù)組中的值
使用Preserve會影響效率
二維數(shù)組
dim userNameS(10,10)as String
List
List.Add():在結(jié)尾處添加數(shù)據(jù)
List.RemoveAt():移除指定位置的數(shù)據(jù)
List.Insert():在指定位置處插入數(shù)據(jù)
List.Clear():移除所有元素
List.IndexOf():查找元素,返回元素位置