NET基础
复杂性本身并不代表对质量的否定,人类比单细胞细菌复杂的多,这当然不是一件坏事,然而,当表达一个简单的概念变的复杂化后,这常常被认为是一件坏事
设计字段是为了程序内部使用
GET SET 是访问器,专为外界使用
元数据 对于被编译成程序文件(简称:PE) 或内存中的程序 描述
Common Language Runtime(公共语言运行时)负责内存分配和垃圾收集,并保证应用和底层操作系统之间必要的分离。clr只执行本机的机器代码
Common Language Infrastructure 是ECMA组织制定的公共语言基础设施标准
Just in time 实时编译本地代码的编译器。
Games Convention 垃圾回收器
类和结构的区别:
结构是值类型 类是引用类型
结构不用实例化 类需要
结构不能继承
结构可以用来描述 对像参数
内存分配遵循先进后出逻辑
堆与栈:运行时为每个变量分配内存,分配的这个内存是称为栈当值不固定: 出现引用类型,如类(当然string 是特殊不可变引用类型)由指针 指向堆 指针不可变,分配于栈上
结构对象里包含函数,常量,字段,方法,属性。。 实例化情况下只能分配到堆上
泛型可以使一个方法支持多种类型的参数优势:在一些特殊情况 不需要装箱或拆箱,代码优雅泛型还可以使用接口进行约束 void fun1<T>(T par1) where T:interface1简单来说是 将类型参数化执行行为: 根据现在理解 在运行时为每种执行类型创建一个函数
异常是在参数正确,运行逻辑正确的情况下 出现的可预知错误 如硬盘没有写入权限throw 不处理错误 throw ex 抛出异常
List<T>[]可以不固定范围 T[]需要固定范围
属性可以访问静态变量