C# 数据类型深度解析
1. 数据类型管理与方法调用
在 C# 里,所有数据类型都被当作对象来管理,这十分统一。即便对于简单的常量,也能调用其所属类的方法。比如:
string s = 10.ToString();
各个类型通常还有额外的方法和属性。像 string 类型就有大量处理字符串的方法,例如 Replace 方法,借助它能把一个子字符串替换成另一个字符串。
部分方法是静态的,调用这些方法时无需创建数据类型的实例。例如 String 类的 Format 方法就是静态方法:
Console.WriteLine(String.Format("{0:0.00}", 1.234));
2. 值类型与引用类型
C# 区分值类型和引用类型。值类型直接把值存储在栈中,而引用类型的值存于堆里,引用类型只是对其值的引用。
值类型涵盖所有标准数据类型(除 string 外)、结构体和枚举。其他类型,像“真正的”对象以及 string 类型,都属于引用类型。
栈是编译器为每个被调用的方法新分配的特殊存储区域。若方法的局部数据是值类型,就会存于栈中。栈也用于向方法传递参数,调用者把参数放在栈上,方法从栈中读取参数。
堆是
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



