1. C#语言的类型系统
2. C#的变量及内存
- 其中,常量是用 const 关键字声明。
- 与C++不同,C#语言中,局部变量没有默认值,必须对其赋值;引用变量有默认值,为 0 或 null。
- 局部变量存储在栈 stack 中,实例对象及其成员均存储在堆 heap 中。
- 装箱与拆箱举例
static void Main(string[] args)
{
int x = 100;
object obj;
obj = x;// 装箱
int y = (int)obj;// 拆箱
}
- C#语言不用手动释放内存,它有内存回收机制。
- 栈 stack 小而快,易产生stackoverflow;堆 heap 大而效率低,易产生内存泄露(即使有回收机制)。
- 利用 performance monitor 可以查看电脑某个进程的堆内存使用情况。