CLR的作用:管理内存布局,异常处理,卸载,垃圾回收
.Net Framework相当于JVM(java虚拟机)
.Net Framework两个主要组件:公共语言运行时(CLR)和统一的类库集(FCL)
兼容性是向下兼容,即以前写的程序可以在当前软件上运行,单反过来就不行了。
CLR功能:
垃圾回收
即时编译
管理内存
序列化:把内存中的对象序列化为本地磁盘文件中
反序列化:把本地磁盘文件还原为内存中的对象中
在操作系统直接运行的代码即在公共语言运行时之外运行的代码是非托管代码
CLR:CLS和CTS
值类型:位于线程堆栈中
引用类型:位于托管堆中
值类型:简单类型,枚举类型,结构类型
引用类型:类类型,接口类型,字符串(string),数组类型,委托类型
object是所有类型的基类
堆栈是先进后出
成员变量默认的修饰符是private类的默认修饰符是internal
char的默认值是\0
析构函数前不允许加修饰符和不能加参数
ref和out后跟的参数必须是变量
out必须先赋值
动态参数只能有一个params一个关键字。
抽象方法不能有实现
抽象类不能new
密封类不能被继承
Serialzable
this和base()的区别:
this出现在构造函数中作为一个值类型,表示的是对象本身的引用
this出现在类的方法中作为一个值类型,表示的是对象的引用
base()在子类中继承了父类中方法
定义常量C#中有两个关键字:const和readonly
常量名一般用大写字母表示