首页 > 代码库 > .net基础の心得一

.net基础の心得一

托管代码 和非托管代码

在业务方面 托管代码要比非托管代码的速度要快  在程序第一次运行的时候 托管代码 会经过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