值类型
整数类型
用途:整数类型用来存储整数值。
表示形式:
- 十进制(不能以0开头,0除外)
- 八进制(必须以0开头)
- 十六进制(必须以0X或0x开头)
类型 说明 范围
sbyte 8位有符号整数 -128~127
short 16位有符号整数 -32768~32767
int 32位有符号整数 -2147483648~2147483647
long 64位有符号整数 -9223372036854775808~9223372036854775807
byte 8位无符号整数 0~255
ushort 16位无符号整数 0~65535
uint 32位无符号整数 0~4294967295
ulong 64位无符号整数 0~18446744073709551615
浮点类型
用途:主要用于处理含有小数数值的数据。
类型 说明 范围
float 精确到7位数 +-1.5*10^(-45) ~ +-3.4×10^38
double 精确到15~16位数 +-5.0*10^(-324) ~ +-1.7×10^308
布尔类型
用途:主要用来表示true/false值
类型 说明
bool true/false
引用类型
堆的概念:堆是一中由系统弹性配置的内存空间,没有特定大小及存活时间,因此可以被弹性地运用于对象访问。
特征:
- 必须在托管堆中为引用类型变量分配内存
- 使用new关键字来创建引用类型变量
- 在托管堆中分配的每个对象都有与之相关联的附加成员,这些成员必须被初始化
- 引用类型变量是由垃圾回收机制来管理的
- 多个引用类型变量可以引用同一对象,在这种情形下,对一个变量的操作会影响另外一个变量所引用的同一对象
- 引用类型被赋值前的值都是null
实例如下:
using System;
class Program
{
class C //创建一个类C
{
public int Value = 0; //声明一个公共int类型的变量Value
}
static void Main(string[] args)
{
int v1 = 0;
int v2 =v1;
v2 = 927;
C r1 = new C(); //使用new关键字创建引用对象
C r2 = r1;
r2.Value = 112;
Console.WriteLine("Values:{0},{1}",v1,v2); //输出 v1 v2 变量
Console.WriteLine("Refs:{0},{1}",r1.Value,r2.Value); //输出引用类型对象的Value
Console.ReadLine();
}
}
输出结果
Values:0,927
Refs:112,112