1,、System.Object System.Object是VB.net所有類的父類(基類),。 把對(duì)象轉(zhuǎn)換成其父類的類型時(shí),只能使用父類提供的方法,。 ToString方法可獲得任意對(duì)象的字符串的表示,。這個(gè)方法是默認(rèn)實(shí)現(xiàn)方式是返回該對(duì)象的類型。 2,、VB.net的類型:值類型,、引用類型 VB.net主要有兩個(gè)變量類型:值類型、引用類型 值類型:基本數(shù)據(jù)類型(除String),,位于堆棧上,,存儲(chǔ)內(nèi)存大小已知,故速度快,。 引用類型:對(duì)象,、String等,位于托管堆,,大小由動(dòng)態(tài)內(nèi)存分配,。其首地址放于棧上便于引用。
所有值類型在VB.net中都可稱為結(jié)構(gòu)類型 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使用 因程序是順序執(zhí)行,為取得最佳性能,,可將最常見(jiàn)條件放于條件最開(kāi)始,,這樣為真時(shí),下面就不用測(cè)試了,。 5,、比較運(yùn)算符:= < <= >= > 另外還有And、Or進(jìn)行邏輯疊加,。 為了上面得取最佳性能,,VB.net提供AndAlso,OrElse,,這兩個(gè)采用最短路徑優(yōu)化比較,,只要比較前面一個(gè)條件就可取得邏輯值時(shí),,后面就不用比較了。 eg: if a>0 AndAlso b>0 then '如果第一條件為假,,后面就不用測(cè)試 if c>0 OrElse d>0 then '如果第一條件為真,,后面不就測(cè)試 另外還有對(duì)象的比較法:Is IsNot eg: if mystring.GetType Is GetType(Integer) then '比較是否為int32 上面兩者結(jié)束,對(duì)一個(gè)對(duì)象運(yùn)算時(shí),,經(jīng)?!胺謩e”寫出兩個(gè)條件,首先判斷不為空,,再取某值,。 有了上面可寫在一個(gè)句中: eg: if MyString IsNot Nothing AndAlso MyString.Length>5 then '不為空時(shí)再取長(zhǎng)度 6、Select Case 技巧:同其它語(yǔ)句一樣,,輸入Select后按Tab可自動(dòng)跟蹤語(yǔ)句,,用Tab可切換不同輸入位置 最后一個(gè)條件可用Case Else 7、Boolean 其值有True和False兩個(gè),。為了適應(yīng)以前VB6,,也可轉(zhuǎn)整形,True轉(zhuǎn)為-1,,F(xiàn)alse轉(zhuǎn)為0,。 為了適應(yīng)不同系統(tǒng)的回車換行。VB.net中仍可用vbCRLF 標(biāo)準(zhǔn)寫法Environment.NewLine 8,、整形
為了兼容有不同的寫法,,請(qǐng)注意: int16 , short, UInt16,Ushort Int32, Integer,UInteger,,UInt32 Int64,,UInt64,Long,, ULong,,UInt64 net標(biāo)準(zhǔn)用前面,是這了遷移到不同平臺(tái)如64位系統(tǒng)時(shí),,后面有些寫法是為了兼容前面的版本,,以后也許Integer不是32位,可能在64位機(jī)上是64位,。
(1)Short Int16 占兩字節(jié),,但有時(shí)機(jī)器為了優(yōu)化速度,也許占4字節(jié),,但其值是不會(huì)變的,。
對(duì)應(yīng)SQL類型為 SmallInt類型
(2)Integer Int32 占4字節(jié),。為了解決遷移系統(tǒng)問(wèn)題可使用用Int32,。 如果為了脫離與底層的實(shí)現(xiàn)方式無(wú)關(guān),,可用Integer。 對(duì)應(yīng)SQL為 Integer類型
(3)Long Int64 占8字節(jié),。 對(duì)應(yīng)SQL類型為 BigInteger類型
(4)為了無(wú)符號(hào)類型,,可在前面加上U,取值為非負(fù),,范圍漲一倍,。 范圍擴(kuò)大并不是用無(wú)符號(hào)數(shù)的主要原因,只是為了表征某些特征,,比如UInt32和32位機(jī)上的指針地址有相同特征,。
8、小數(shù)(浮點(diǎn))
需要說(shuō)明的是Currency已經(jīng)停用,。
(1)Single Double 單精度尾數(shù)6位,,雙精度尾數(shù)14,各表達(dá)的精度和范圍不一樣,。 Dim a As Long=Long.MaxValue 賦值可以直接在定義后寫,。每種類型后面都可以用MaxValue和MinValue
(2)Decimal Single,Double雖然表達(dá)的范圍大,,但它們的精度不夠,,增加Decimal,可達(dá)28位有效數(shù)值,。 共占16字節(jié)128位,,其中1位符號(hào)位,96位整數(shù)值,,剩下的31位是比例因子,,默認(rèn)是以10為底,同時(shí)31位中還包括尾數(shù)中后置0.
(3)Char Byte 因VB.net是Unicode,,Char故有2位,,不僅英文,漢字亦可表達(dá),。 char是無(wú)符號(hào),,負(fù)數(shù)則是錯(cuò)誤的,同時(shí),,char是不能直接與數(shù)值型進(jìn)行轉(zhuǎn)換的,,須指明 由字符到數(shù)值: ASC() AscW() 由數(shù)值到字符:Chr() ChrW() 另外可在字符的后面加c表示是char型 Dim a as Char="d"c '因?yàn)镾ting也是雙引號(hào),所以加C更能明確知道是Char 如果同一些Com交互時(shí),,char在VB.net并不能與之前的VB6中的char等同,,須用Byte來(lái)代替
(4)DateTime 存儲(chǔ) IEEE 64 位(8 個(gè)字節(jié))值,表示從 0001 年 1 月 1 日到 9999 年 12 月 31 日的日期以及從午夜 12:00:00 到晚上 11:59:59.9999999 的 時(shí)間,。 每個(gè)增量表示從公歷第 1 年的 1 月 1 日開(kāi)始經(jīng)過(guò)的 100 納秒時(shí)間,。 最大值表示 10000 年 1 月 1 日開(kāi)始前的 100 納秒,。 由此可以看到并不是以前VB6的Double類型。為了和VB6兼容,,用ToOADate和FromOADate來(lái)支持,。
Now()繼續(xù)用,添加 UtcNow() (即格林威治標(biāo)準(zhǔn)時(shí))
|
|
來(lái)自: 百眼通 > 《03VB和VB.NET-113》