当前位置:
首页 > Python基础教程 >
-
vb.net教程之初识VB.NET——数据类型
为了方便识别和处理,编程语言系统中的不同信息在计算机中具有不同的表示,占用不同的存储空间,这些信息在语言系统中称为数据类型。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)只能用于文本。在所以情况下,文本类型字符都必须紧跟在文本之
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式