C#中的数据类型分为以下几种
- 值类型(Value types)
- 引用类型(Reference types)
- 指针类型(Pointer types)
值类型(Value types)
值类型变量可以直接分配给一个值。它们是从类 System.ValueType 中派生的。
sizeof(type)
:方法可以知道类型占用几字节
Console.WriteLine("Size of double: {0}", sizeof(double));
image.png
引用类型(Reference types)
引用类型指的是一个内存位置。
如果内存位置的数据是由一个变量改变的,其他变量会自动反映这种值的变化。
内置的引用类型有:object、dynamic 和 string。
对象(Object)类型
对象(Object)类型 是 C# 通用类型系统(Common Type System - CTS)中所有数据类型的终极基类。
Object 是 System.Object 类的别名。
当一个值类型转换为对象类型时,则被称为装箱(基础化);另一方面,当一个对象类型转换为值类型时,则被称为拆箱(具体化)。
Object o;
o = 100; // 这是装箱
动态(Dynamic)类型
您可以存储任何类型的值在动态数据类型变量中。这些变量的类型检查是在运行时发生的。
声明动态类型的语法:
dynamic d = 100;
字符串(String)类型
字符串(String)类型 允许您给变量分配任何字符串值。
字符串(String)类型是 System.String 类的别名。它是从对象(Object)类型派生的。
字符串(String)类型的值可以通过两种形式进行分配:引号和 @引号。
s1 = "string";
s2 = @"\string"; //等价于"\\string", 类似python中字符串前加r
指针类型(Pointer types)
指针类型变量存储另一种类型的内存地址。C# 中的指针与 C 或 C++ 中的指针有相同的功能。
声明指针类型的语法:
char* cptr;
int* iptr;
网友评论