.NET学习笔记(一)___类型基础

类型基础
      1,所有类型的基类型:System.Object
      2,System.Object的共有方法:Equals,GetHashCode,ToString,GetType。
                                       保护方法:MemberwiseClone,Finalize
      3,new操作符的工作
        1),从managed heap中分配内存空间
        2),初始化对象的附加成员:两个:指向类型方法表的指针,SyncBlockIndex
        3),传入制定参数,调用构造方法
类型转换
    1,CLR允许我们将类型转换为原来类型或它的任意一个基类型。如果要转换为它的派生类型要显示转换:
        Object o = new Employee();
        Employee e = (Employee)o;
    2,is操作符 o is Object  如果o是null则总返回false
    3,as语句是用来简化is语句的一个双重判断的。
        if(o is Employee){
            Employee e = (Employee)o;
            .......
        }
        //下面这种方法只做一次类型检查,再做一次判断效率高
        Employee e = o as Employee
        if(e != null){
            .......
        }
命名空间和程序集
      1, 命名空间的一个好处:程序看起来简洁。另一个好处解决命名冲突。
      2,using语句试着在类型名前加不同的前缀直道找到一个匹配的为止
      3,CLR对命名空间一无所知,它都是用全名称来找类型的
      4,程序集C#编译器要知道去哪里找命名空间(类型)就是去程序集中找。默认程序集:MSCorLib.dll包含了 所有.net框架类库
    早期:MSCorLib.dll:Microsoft Common Object Runtime Library
    ECMA:Multilanguage Standard Common Object Runtime Library
      5 用起别名的方式来避免不同命名空间相同类型的问题
      6 using只支持命名空间,不支持程序集(知道就行了)
      7 程序集和命名空间没有必然联系。
 

转载于:https://www.cnblogs.com/c-delight/archive/2005/08/07/209377.html

你可能感兴趣的:(runtime,c#)