typeof 参数是一个类型名称,比如你自己编写的一个类 GetType()是类的方法,继承自object,返回该实例的类型 is 用来检测实例的兼容性(是否可以相互转换) 例: class Animal { } class Dog : Animal { } void PrintTypes(Animal a) { Console.WriteLine(a.GetType() == typeof(Animal)); // false Console.WriteLine(a is Animal); /…
有时候,我们不想用值类型的值,就是想用一个引用..Net提供了一个名为装箱(boxing)的机制,它允许根据值类型来创建一个对象,然后使用对这个新对象的一个引用. 首先,回顾两个重要的事实,1.对于引用 类型的变量,它的值永远是一个引用:2.对于值类型的变量,它的值永远是该值类型的一个值. int i = 5; object o = i; int j = (int)o; 这里有两个变量:i是值类型的变量,o是引用类型的变量.将i的值赋给o有道理吗?o的值必须是一个引用,而数字5不是一个引用,它使…
typeof: 是运算符,获得某一类型的 System.Type 对象. Int32 t = new Int32(); Type t = typeof(int); GetType: 是方法,获取当前实例的类型. int i = 10; Console.WriteLine(i.GetType()); 区别: GetType()是基类System.Object的方法,因此只有建立一个实例之后才能够被调用(初始化以后) Typeof()的参数只能是int,string,String,自定义类型,且不能…
这几个符号说来也多多少少的用过,今天就根据ProC#的讲述来总结一下: 1. IS: 检查变量类型是否与指定类型相符,返回True ,False.不报错. 老实说,我没怎么用过.看看下面的实例代码,很容易理解: ; if (i is object) //ture or false { Response.Write("i is object</br>"); } 但是,更经常的用法,在于判断一个未知类型(Object)是否与指定类型相符. void Test(o…