本文讲述了C#基础知识之GetType与typeof的区别小结!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:
在实际开发中经常需要了解具体对象的类型,所以经常会使用GetType()和typeof()、尽管可以得到相应的类型、但两者之间也存在一些差别,接下来我们一起来了解一下吧。
一、GetType()与typeof()
1、typeof():typeof 运算符用于获取某个类型的 System.Type实例。 typeof 运算符的实参必须是类型或类型形参的名称,如以下示例所示:控制台输出:
1 2 | Console.WriteLine($"得到类型为:{typeof(int)}"); Console.WriteLine($"得到类型为:{typeof(string)}"); |
2、GetType():GetType()方法继承自Object,所以C#中任何对象都具有GetType()方法,它的作用和typeof()相同,返回Type类型的当前对象的类型并控制台输出:
1 2 3 | int i = 1; var iresult = i.GetType(); Console.WriteLine($"得到类型为:{iresult}"); |
就拿Int类型来说两者都是返回System.Int32、但是使用的方式却不同?那如果采用typeof(iresult)来获取结果呢?答案是不能、如下所示
由此可知使用typeof()来获取类型时、只能传入具体的类型如int、string、或者自定义类型等等、使用GetType()则是获取当前对象、实例的具体类型。
二、总结
1.Gettype()是从System.Object中继承的方法,返回值为type类型当前对象的类型;typeof(XX)是运算符,XX必须是具体的类名、类型名称等,不可以是变量名。
2.Gettype()必须是创建具体的对象(实例)才能使用,
3.typeof()的参数只能是int,string 等类型及自定义类型,不能是实例。
4.Gettype返回的是实例的type(类型),而typeof返回的是Class(类)的类型
以上就是两者的区别、在使用的过程当中可以留意两者的区别。
更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。
想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!