C#基础之GetType 与 typeof的区别

 

C#中GetType 与 typeof的区别

在实际开发中经常需要了解具体对象的类型,所以经常会使用GetType()和typeof()、尽管可以得到相应的类型、但两者之间也存在一些差别,接下来我们一起来了解一下吧。

一、GetType()与typeof()

 1、typeof():typeof 运算符用于获取某个类型的 System.Type实例。 typeof 运算符的实参必须是类型或类型形参的名称,如以下示例所示:控制台输出:

Console.WriteLine($"得到类型为:{typeof(int)}");
Console.WriteLine($"得到类型为:{typeof(string)}");

2、GetType():GetType()方法继承自Object,所以C#中任何对象都具有GetType()方法,它的作用和typeof()相同,返回Type类型的当前对象的类型并控制台输出:

int i = 1;
var iresult = i.GetType();
Console.WriteLine($"得到类型为:{iresult}");

 就拿Int类型来说两者都是返回System.Int32、但是使用的方式却不同?那如果采用typeof(iresult)来获取结果呢?答案是不能、如下所示

 由此可知使用typeof()来获取类型时、只能传入具体的类型如int、string、或者自定义类型等等、使用GetType()则是获取当前对象、实例的具体类型。

二、总结

以上就是两者的区别、在使用的过程当中可以留意两者的区别、另外祝园友们六一快乐。

 

posted @ 2021-06-01 10:31  陈大宝  阅读(440)  评论(0编辑  收藏  举报