VB.Net学习笔记(数据类型基础)

讨论数据类型

.Net 中的数据类型是程序员需要认真掌握的基础知识。 .NET 中类型的两个基本类别是“值类型”和“引用类型”。基元类型、枚举和结构为值类型。类、字符串、标准模块、接口、数组和委托为引用类型。

所有的类型要么是值类型,要么是引用类型,但有一种情况例外。根类型 System.Object ,它非常特殊,因为它既不是引用类型也不是值类型,而且不能实例化。因此,类型 Object 的变量可包含值类型或引用类型。

不过无论值类型还是引用类型,它们的声明方式都是一样的,当然它们的语义是不同的。

值类型

值类型直接存储在堆栈上,要么在数组中,要么在另一个类型中。值类型总是直接访问;不可能创建对值类型的引用。值类型的值不能为空引用,值类型的变量赋值会创建所赋的值的副本。

** 值类型副本创建意义举例 **


Dim i As Int32 = 10

Dim j As Int32 = i

j = 20 'i=10

基础类型

什么是基础类型呢?简单的讲就是如果一个类型的值是可以使用常数来描述的,该类型就是基础类型。当表达式的操作数均为基元类型常数时,编译器是可以在编译时计算表达式的。这种表达式被称为常数表达式。基本类型总是有初始值的。

VB.Net 定义的基础类型:整数(包括字节),浮点、布尔、日期、字符和字符串。

** 分类 **

|

** 类型 **

|

** 存储分配 **

---|---|---

整数值类型

|

Byte

|

1

Short

|

2

Integer

|

4

Long

|

8

浮点值类型

|

Single

|

4

Double

|

8

Decimal

|

16

布尔

|

Boolean

|

2

日期

|

Date

|

8

字符

|

Char

|

2

字符串

|

String

|

取决于实现平台

如果大家有心的话,可以从 Boolean 和 Char 的分配空间看出: .Net 是基于 Unicode 来表示数据的,所以在 .Net 中英文字符和中文字符所占的空间是一致的。

Published At
Categories with Web编程
Tagged with
comments powered by Disqus