-
vb.net教程之初識VB.NET——數據類型
- 2019-06-19 09:06 來源:未知
為了方便識別和處理,編程語言系統中的不同信息在計算機中具有不同的表示,占用不同的存儲空間,這些信息在語言系統中稱為數據類型。VB.NET使用的每種數據類型都與公共語言運行環境(Common Language Runtime,CLR)的通用類型系統(Common Type System,CTS)中的一種類型直接對應,這為構建跨語言集成、保證代碼類型安全、確保用不同語言編寫的對象能夠交互作用打下了基礎。
CTS支持兩種類型:值類型和引用類型。值類型直接包含數據,包括所有的數值數據類型、Char類型、Boolean類型、Date類型、所有結構和枚舉類型。引用類型數據包括指向對象實例的引用或指針。兩個引用類型數據可以指向同一個對象實例,因此對一個引用類型數據的操作會影響其他引用類型數據。引用類型包括String、所以數組和類。
公共語言運行庫根據應用程序所在執行平臺的特性來分配存儲。在某些情況下,它會盡可能緊密地壓縮聲明的元素。而在其他情況下它會將數據按內存地址的整數邊界存放。另外,在64位平臺上的存儲分配與32位平臺上不同。
在引用任何基本或復合數據類型的對象時,除了該數據類型中包含的數據占用的存儲空間之外還要額外使用4個字節的引用地址。
一、整數類型數據
有符號的整型數據類型包括:SByte(8位)、短整型(Short,16位)、整型(Integer,32位)、長整型(Long,64位)。用整型數進行算術運算比其他數據類型快。在VB.NET中使用Integer類型進行運算是最快的。對于Byte、UInteger等無符號整型數據類型,無法表示負數。如果將一元負運算符“-”用于取值為無符號整型數據類型的表達式,則VB首先將表示式轉換為相應的有符號的整型數據類型。
文本類型字符標識
S----Short
I----Integer
L----Long
US----UShort
UI----UInteger
UL----ULong
二、非整型數據類型
非整型數據類型有十進制定點型(Decimal,128位)、單精度浮點型(Single,32位)和雙精度浮點型(Double,64位)
文本類型字符
D----Decimal
F----Single
R----Double
三、字符數據類型
字符數據類型是用來處理可打印可顯示的字符。有Char數據類型和String數據類型兩種。Char數據類型是無符號的單個雙字節(16位)Unicode字符。Char類型和數字類型之間的轉換可以通過函數來實現,如AscW和ChrW。
String字符串類型是0個或多個Unicode字符的序列。如果某個變量總是包含字符串而從不包含數值,則將它聲明為String類型。
四、布爾類型
布爾(Boolean)數據類型是被解釋為True或False的無符號值。Boolean變量以16位(2B)的數值形式存儲,但只能是True或False。
五、日期類型
日期(Date)數據類型是以IEEE64位(8B)整數的形式存儲。可表示從公歷第1年1月1號(1:00:00 AM)開始的時間。Date數據類型的變量或常數可包含日期和時間。日期數據必須用“#”括起來,格式為M/d/yyyy。將數值類型轉換為Date類型時,VB將它的值視為有符號整數。如果試圖轉換負數,則會報錯。Date沒有文本類型字符。等價的.NET數據類型是System.DateTime。
六、對象類型
對象(Object)類型占用4B的存儲空間,作為應用程序中對象的引用地址。即對象變量中存儲的值被保持在內存中的其他地方,而變量本身保存一個指向該數據的指針。這樣,可以為Object變量分配任何引用類型(字符串、數組、類或接口)和任何類型的數據。
七、值類型和引用類型
如果某個數據類型在自己的內存分配中包含數據,則該數據類型是值類型。引用類型含有指向包含數據的所在內存位置的指針。通過將某個Object變量傳遞到Microsoft.VisualBasic命名空間中Information類的IsReference方法,可以查看該變量充當的是引用類型還是值類型。如果Object變量的內容表示引用類型,則Microsoft.VisualBasic.Information.IsReference返回True.
八、標識符類型字符
VB提供標識符類型字符集,可以在聲明中使用這些字符來指定變量或常數的數據類型。Boolean、Byte、Char、Date、Object或Short數據類型或者任何復合數據類型都沒有標識符類型字符。標識符類型字符也可以強制其他標識符的數據類型,甚至可以在表達式中使用它們。在所以情況下,標識符類型字符都必須緊跟在標識符之后,不加空格。
九、文本類型字符
文本類型是某些類型的特定值的文本表示形式。代碼中出現的文本形式通常確定其數據類型。編譯器將整型文本視為Integer(除非它們大得足夠成為Long),將非整型文本視為Double。Boolean、Byte、Date、Object、String數據類型和任何復合數據類型都沒有文本類型字符。與變量、常量和表達式一樣,文本也可以使用標識符類型字符(%、&、@、!、#、$)。但是,文本類型字符(S、I、L、US、UI、UL、D、F、R、C)只能用于文本。在所以情況下,文本類型字符都必須緊跟在文本之
CTS支持兩種類型:值類型和引用類型。值類型直接包含數據,包括所有的數值數據類型、Char類型、Boolean類型、Date類型、所有結構和枚舉類型。引用類型數據包括指向對象實例的引用或指針。兩個引用類型數據可以指向同一個對象實例,因此對一個引用類型數據的操作會影響其他引用類型數據。引用類型包括String、所以數組和類。
公共語言運行庫根據應用程序所在執行平臺的特性來分配存儲。在某些情況下,它會盡可能緊密地壓縮聲明的元素。而在其他情況下它會將數據按內存地址的整數邊界存放。另外,在64位平臺上的存儲分配與32位平臺上不同。
在引用任何基本或復合數據類型的對象時,除了該數據類型中包含的數據占用的存儲空間之外還要額外使用4個字節的引用地址。
一、整數類型數據
有符號的整型數據類型包括:SByte(8位)、短整型(Short,16位)、整型(Integer,32位)、長整型(Long,64位)。用整型數進行算術運算比其他數據類型快。在VB.NET中使用Integer類型進行運算是最快的。對于Byte、UInteger等無符號整型數據類型,無法表示負數。如果將一元負運算符“-”用于取值為無符號整型數據類型的表達式,則VB首先將表示式轉換為相應的有符號的整型數據類型。
文本類型字符標識
S----Short
I----Integer
L----Long
US----UShort
UI----UInteger
UL----ULong
二、非整型數據類型
非整型數據類型有十進制定點型(Decimal,128位)、單精度浮點型(Single,32位)和雙精度浮點型(Double,64位)
文本類型字符
D----Decimal
F----Single
R----Double
三、字符數據類型
字符數據類型是用來處理可打印可顯示的字符。有Char數據類型和String數據類型兩種。Char數據類型是無符號的單個雙字節(16位)Unicode字符。Char類型和數字類型之間的轉換可以通過函數來實現,如AscW和ChrW。
String字符串類型是0個或多個Unicode字符的序列。如果某個變量總是包含字符串而從不包含數值,則將它聲明為String類型。
四、布爾類型
布爾(Boolean)數據類型是被解釋為True或False的無符號值。Boolean變量以16位(2B)的數值形式存儲,但只能是True或False。
五、日期類型
日期(Date)數據類型是以IEEE64位(8B)整數的形式存儲。可表示從公歷第1年1月1號(1:00:00 AM)開始的時間。Date數據類型的變量或常數可包含日期和時間。日期數據必須用“#”括起來,格式為M/d/yyyy。將數值類型轉換為Date類型時,VB將它的值視為有符號整數。如果試圖轉換負數,則會報錯。Date沒有文本類型字符。等價的.NET數據類型是System.DateTime。
六、對象類型
對象(Object)類型占用4B的存儲空間,作為應用程序中對象的引用地址。即對象變量中存儲的值被保持在內存中的其他地方,而變量本身保存一個指向該數據的指針。這樣,可以為Object變量分配任何引用類型(字符串、數組、類或接口)和任何類型的數據。
七、值類型和引用類型
如果某個數據類型在自己的內存分配中包含數據,則該數據類型是值類型。引用類型含有指向包含數據的所在內存位置的指針。通過將某個Object變量傳遞到Microsoft.VisualBasic命名空間中Information類的IsReference方法,可以查看該變量充當的是引用類型還是值類型。如果Object變量的內容表示引用類型,則Microsoft.VisualBasic.Information.IsReference返回True.
八、標識符類型字符
VB提供標識符類型字符集,可以在聲明中使用這些字符來指定變量或常數的數據類型。Boolean、Byte、Char、Date、Object或Short數據類型或者任何復合數據類型都沒有標識符類型字符。標識符類型字符也可以強制其他標識符的數據類型,甚至可以在表達式中使用它們。在所以情況下,標識符類型字符都必須緊跟在標識符之后,不加空格。
九、文本類型字符
文本類型是某些類型的特定值的文本表示形式。代碼中出現的文本形式通常確定其數據類型。編譯器將整型文本視為Integer(除非它們大得足夠成為Long),將非整型文本視為Double。Boolean、Byte、Date、Object、String數據類型和任何復合數據類型都沒有文本類型字符。與變量、常量和表達式一樣,文本也可以使用標識符類型字符(%、&、@、!、#、$)。但是,文本類型字符(S、I、L、US、UI、UL、D、F、R、C)只能用于文本。在所以情況下,文本類型字符都必須緊跟在文本之
最新更新
Python3基礎之Python中GIL
Python3基礎之GIL 是什么
Python3基礎之Python并發之GIL的限制(重點)
Python3基礎之Python的GIL是什么、怎么來的、
Python3基礎之詳解Python GIL
Python3基礎之python使用多線程
Python3基礎之關于python全局性解釋鎖(GI
Python3基礎之數據結構與算法(Python)
Python3基礎:String模塊ascii_letters和digits
python基礎教程之django之路由層
基于UDP的服務器端和客戶端
再談UDP和TCP
在socket編程中使用域名
網絡數據傳輸時的大小端問題
socket編程實現文件傳輸功能
如何優雅地斷開TCP連接?
圖解TCP四次握手斷開連接
詳細分析TCP數據的傳輸過程
圖解TCP數據報結構以及三次握手(非常詳
TCP協議的粘包問題(數據的無邊界性)
Mysql Workbench使用教程
MySQL教程之MySQL Workbench
sql語句大全之Microsoft SQL Server 2012安裝說明
sql語句大全之隨機姓名生成方法
sql語句大全之SQL干貨筆記
access數據庫之隨說秋色園從Access升遷到
access數據庫之微信公眾平臺開發(26) ACCE
access數據庫之ACCESS TOKEN
access數據庫之當爬蟲被拒絕時(Access Deni
access數據庫之當爬蟲被拒絕時(Access Deni