C#中的变量类型一般分为:值类型和引用类型。值类型的变量本身直接存储数据,引用类型存储实际数据的引用。
值类型
值类型直接存储数据值,包含整数、浮点数和布尔类型。
- 整数类型:整数类型用来存储整数。
- 十进制:140,250,520。不能以0作为十进制数开头。
- 八进制:0123,0210,0321。必须以0开头。
- 十六进制:0x25,0xff,0xcd。必须以0X或者0x开头
- sbyte:8位有符号整数,-129-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和double两种类型。
- float:精确到7位数
- double:精确到15-16位数
- 布尔类型:布尔类型只能表示true和false。
引用类型
- 必须在托管堆中为引用类型变量分配内存
- 使用new关键字来创建引用类型变量
- 引用类型被赋值之前都是null
class Program
{
static void Main()
{
int a = 0;
int b = a;
b = 88;
Constant c = new Constant();
Constant d = c;
d.value = 889;
Console.WriteLine("value:{0},{1}",a, b);
Console.WriteLine("refs:{0},{1}", c.value, d.value);
Console.ReadLine();
}
}
class Constant
{
public int value = 1;
}
枚举类型
枚举类型是一种独特的值类型,可以增加程序的可读性和维护性。
enum Data
{
Sun = 0,
Mon = 1,
Tue = 2,
Wed = 3,
Thi = 4,
Fri = 5,
Sat = 6
}
class Program
{
static void Main()
{
int a = (int)System.DateTime.Now.DayOfWeek;
switch(a)
{
case (int)Data.Sun:Console.WriteLine("周日");break;
case (int)Data.Mon: Console.WriteLine("周一"); break;
case (int)Data.Tue: Console.WriteLine("周二"); break;
case (int)Data.Wed: Console.WriteLine("周三"); break;
case (int)Data.Thi: Console.WriteLine("周四"); break;
case (int)Data.Fri: Console.WriteLine("周五"); break;
case (int)Data.Sat: Console.WriteLine("周六"); break;
}
}