C#学习笔记之类型基础
一、类型转换:
CLR允许我们将对象转换为其原来的类型或者它的任何一个基类型。转换为基类型被认为是安全的隐式操作。但是C#在将对象转换为它的任何派生类型时,要求进行显式转型。
二、使用is和as操作符转型:
A.利用is操作符进行转型,可以检查对象是否和给定的类型兼容,并返回判断结果:true或false.(is操作永远不会抛出异常)
 System.Object o =new System.Object();
    System.Object o =new System.Object(); System.Boolean b1=( o is System.Object);    // b1为True
System.Boolean b1=( o is System.Object);    // b1为True System.Boolean b2=( o is Employee);        // b2为False
System.Boolean b2=( o is Employee);        // b2为False
    B.as操作符在简化代码的同时提高性能:
    C.is与as操作符的比较:
 // is 操作首先检查两者是否兼容,再执行转型操作
// is 操作首先检查两者是否兼容,再执行转型操作 If ( o is Employee )
If ( o is Employee ) {
{ Employee e = (Employee) o ;
    Employee e = (Employee) o ; }
}
 // as 操作检查所引用的对象是否和Employee类型兼容,如
// as 操作检查所引用的对象是否和Employee类型兼容,如 // 兼容则返回指向同一对象的指针。如不兼容,则返回null
// 兼容则返回指向同一对象的指针。如不兼容,则返回null Employee e = o  as  Employee;
Employee e = o  as  Employee;     If ( e != null )
If ( e != null )  {
{ // 使用e
    // 使用e }
}
三、命名空间与程序集:
命名空间与程序集之间并没有必然的联系。
多个属于同一命名空间的类型可能被实现在多个程序集中。例如:System.IO.FileStream类型被实现在MSCorLib.dll程序集中,而System.IO.FileSystemWatcher类型被实现在System.dll程序集中。
一个程序集也可以包含位于不同命名空间中的类型。如:System.Int32和System.Collection.ArrayList类型都位于MSCorLib.dll程序集中。
 
                    
                 


 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号