托管代码 和非托管代码
在业务方面 托管代码要比非托管代码的速度要快 在程序第一次运行的时候 托管代码 会经过csc编译器 还有CLR 转换成本地平台的二进制指令 那么之后就会变非托管代码的运行的速度要快 但是一段程序关闭 或关机 在其运行的时候那么又需要转换成本地平台的二进制指令
.net平台的简答的编译原理
我们写好的程序 在编译的时候 会经过csc编译器编译成为微软的中间语言储存在程序集中 然后再经过CLR中的JIT及时编译器 转化成本地CPU的二进制指令 然后运行
什么叫做程序集 经过>net平台编译而生成的.exe文件就是程序集
.net平台与.net之间的关系 .net语言可以通过.net平台 进行编译 部署 运行.net程序
.net平台的重要组成部分
FCL框架类库 在程序员洗程序的时候 微软觉得有好多的功能都是程序员经常使用额 所以微软把这些功能都提前写好了 封装在类里面 这有所有功能的集合 叫做框架类库
\CLR 是公共语言运行时 如果对方的电脑没有安装CLR时 那么你发给他的程序是无法进行运行的 但是 CLR是无法单独安装 它是集成在.net framwork里面的
调试之F10 和F11
当你高亮选中的哪一行代码是方法的时候 按下F10 那么会嗖的一下吧整个方法执行完毕
当你按下F11的时候实惠进入到方法的内部中一句一句的去调试的
值类型和引用类型的区别 :
值类型的变量开辟在栈空间 其真实的值 也是跟随者变量存储在栈空间里面的
引用类型 的变量开辟在栈空间 其真实的值 是存储在堆空间里面的 然后将真实的值所在堆空间的地址返回个这个变量存储起来
值类型 long int short byte ulong uint ushort sbyte 结构 枚举 bool char
引用类型 string 数组 类
什么叫做装箱
就是值类型转换为引用类型的
什么叫拆箱
就是将引用类型的抓还为值类型的
小string 和大String 的区别 :
小的是c#编程语言中的一个关键字
大的是FCL(框架类库)中的一个类
string str=null 和 string str=""的区别 :
首先 它们都在栈空间开辟一个一块空间
str=null 是没有对象 所以没有在堆空间中开辟一个空间 这个时候str就没有指向具体的实例
str="" 在堆空间中开辟了一块大小合适的空间 只是它存储的值为空值而已 然后将这个值在堆空间的地址返回给变量str存储起来
字符串的恒定性 string string string s="abc";s="123"s="abc";s="123" s="abc";s="123"不就是变了吗?
首先 s是指向内容为"123"的这个对象的 你为s进行重新赋值为"abc"的时候 第一步 会现在字符串额拘留池中检查有没有一个对象的内容是"abc"的 如果 有就指向这个对象 如果没有 那么就冲向创建一个对象 内容为"abc" 此刻 只是把指向的方向指向"abc" 但是原来的对象 还是存在于字符串拘留池只 是这个变量不再指向它了
可访问性级别有哪几种:
1) public 访问不受限制。
2) protected 在它的类中可访问并且可由派生类访问。。
3) internal 只有在同一程序集的文件中,内部类型或成员才是可访问的。
4) protected internal 同一个程序集中的所有类,以及所有程序集中的子类都可以访问。
5) private 私有成员只有在声明它们的类和结构体中才是可访问的。
类的访问修饰符 只有internal 还有public这两种
如果不写的话 那么默认是 interal
字段如果不写访问修饰符 那么默认的是private
原文地址:http://www.cnblogs.com/leon-Dr-yes/p/3814008.html