typeof() 和 GetType()区别

总得来说他们都是为了获取某个实例具体引用的数据类型System.Type。

typeof  是运算符,而 GetType() 是方法

1、typeof 获得类型的System.Type对象,GetType()获得当前实例的Type。

2、GetType()是基类System.Object的方法,只有建立了一个实例之后才能够被调用。

3、typeof的参数只能是int, string, class,自定义类型,不能为具体实例,否则编译器会报错。

 

例如:有这样一个变量i:
Int32 i = new Int32();

使用GetType(),i.GetType()返回值是Int32的类型,但是无法使用typeof(i),因为i是一个变量,

使用typeof(),则只能:typeof(Int32),返回的同样是Int32的类型。

posted @ 2020-09-23 09:52  丨西风  阅读(602)  评论(0编辑  收藏  举报