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()则是获取当前对象、实例的具体类型。
二、总结
以上就是两者的区别、在使用的过程当中可以留意两者的区别、另外祝园友们六一快乐。