C# typeof 与GetType,的区别

  C#中Type类的介绍:https://msdn.microsoft.com/zh-cn/library/system.type(VS.80).aspx

  C#中任何对象都具有GetType()方法,它的作用和typeof()相同,返回Type类型的当前对象的类型。typeof(x)中的x,必须是具体的类名、类型名称等,不可以是变量名称;GetType()是基类System.Object的方法,因此只有建立一个实例之后才能够被调用

两者区别:

  1、Typeof是运算符而是方法

  2、GetType()是基类System.Object的方法,因此只有建立一个实例之后才能够被调用(初始化以后)

  3、Typeof的参数只能是int,string,String,自定义类型,且不能是实例

  4、GetType()和typeof都返回System.Type的引用.

  5、TypeOf():得到一个Class的Type

  6、 GetType():得到一个Class的实例的Type