关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

云南大王-C#数据类型

发布时间:2020-03-25 00:00:00
在C#中,变量分为一下几种类型 1 值类型 2 引用类型 3 指针类型 一 值类型 值类型是从类System.Valuetype中派生。值类型变量可以直接赋值,值类型直接包含数据。 比如bool、byte、char、decimal、double、float、int、long、sbyte(8位有符号整数类型)、short(16位有符号整数类型)、uint、ulong、ushort、enum、struct。  如需得到一个类型或一个变量在特定平台上的准确尺寸,可以使用sizeof方法,表达式sizeof(type)产生以字节为单位存储对象或类型的存储尺寸。 Console.WriteLine("Size of int: {0}", sizeof(int)); Console.ReadLine(); 输出结果 Size of int: 4 二 引用类型 引用类型不包含存储在变量中的实际数据,但包含对变量的引用。 使用多个变量时,引用类型可以指向一个内存位置。如果内存位置的数据是由一个变量改变的,其他变量会自动反映这种值的变化。 内置的引用类型有:object、dynamic 和 string。 object类型 object是所有类型的基类。 类型检查在编译时发生。 当一个值类型转换为对象类型时,则被称为装箱;另一方面,当一个对象类型转换为值类型时,则被称为拆箱。 object obj; obj = 100; // 装箱 int i; i = (int)obj; // 拆箱 dynamic类型 可以存储任何类型的值在dynamic类型变量中。 类型检查在运行时发生。 例如: dynamic d = 100; String类型 string类型是从object类型派生的,可以用引号或@引号赋值。 string字符串的前面加@(“逐字字符串”)将转义字符 例如: string str = "C:\\Windows"; 等价于 string str = @"C:\Windows"; 用户自定义类型 有class、interface、delegate等。 三 指针类型 指针类型变量存储另一种类型的地址。 例如: int* p1; char* p2; 四 值类型和引用类型的区别 1 值类型在栈中存储数据;引用类型在栈中存储数据的地址,数据存储在堆中。 2 赋值时,值类型复制的的是数据;引用类型复制的的是数据的地址。 3 值类型不可以为null;引用类型可以为null。 例如: int i = 1; int i2 = i; // 复制数据 i2 = 2; Console.WriteLine(i); Console.WriteLine(i2); object obj = 10; object obj2 = obj; // 复制地址 obj2 = 20; Console.WriteLine(obj); Console.WriteLine(obj2); Console.ReadLine(); 输出结果: 1 2 20 20  

/template/Home/Zkeys/PC/Static