C#基础知识之GetType与typeof的区别小结
作者:陈大宝 时间:2022-04-06 21:59:34
在实际开发中经常需要了解具体对象的类型,所以经常会使用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()则是获取当前对象、实例的具体类型。
二、总结
1.Gettype()是从System.Object中继承的方法,返回值为type类型当前对象的类型;typeof(XX)是运算符,XX必须是具体的类名、类型名称等,不可以是变量名。
2.Gettype()必须是创建具体的对象(实例)才能使用,
3.typeof()的参数只能是int,string 等类型及自定义类型,不能是实例。
4.Gettype返回的是实例的type(类型),而typeof返回的是Class(类)的类型
来源:https://www.cnblogs.com/ChenBigBao/p/14836097.html
标签:c#,gettype,typeof
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
C#移除所有事件绑定的方法
2023-07-25 11:00:52
SSM框架实现分页和搜索分页的示例代码
2022-04-13 04:52:49
基于Java实现一个简单的单词本Android App的实践
2023-04-17 21:27:39
![](https://img.aspxhome.com/file/2023/1/79851_0s.png)
Java反射机制详解_动力节点Java学院整理
2022-08-19 18:10:13
详解Java设计模式——命令模式
2023-11-23 05:00:07
![](https://img.aspxhome.com/file/2023/8/59688_0s.png)
Java多线程编程中使用Condition类操作锁的方法详解
2023-10-19 13:30:55
Java实现石头剪刀布小游戏
2023-02-25 22:41:29
![](https://img.aspxhome.com/file/2023/2/75802_0s.jpg)
Java设计模式之迭代模式(Iterator模式)介绍
2022-07-24 16:03:29
JDK14新特性之switch表达式的实现
2022-06-01 17:49:31
![](https://img.aspxhome.com/file/2023/4/70554_0s.png)
java9中gc log参数迁移
2022-06-28 03:21:01
Android开发实现控件双击事件的监听接口封装类
2023-02-15 00:56:18
浅谈让@Value更方便的Spring自定义转换类
2023-10-06 14:01:02
![](https://img.aspxhome.com/file/2023/4/74754_0s.jpg)
Spring AOP 后置通知修改响应httpstatus方式
2022-06-05 06:54:26
![](https://img.aspxhome.com/file/2023/5/78305_0s.jpg)
使用java代码获取新浪微博应用的access token代码实例
2023-12-01 20:18:30
Intellij Idea中进行Mybatis逆向工程的实现
2021-06-05 00:08:53
fastjson全局日期序列化设置导致JSONField失效问题解决方案
2021-12-13 10:58:24
Android之使用Bundle进行IPC详解
2023-09-27 22:44:56
Java制作智能拼图游戏原理及代码
2022-08-02 21:46:57
c#编写的番茄钟倒计时器代码
2023-02-23 12:21:50
Java编程接口回调一般用法代码解析
2023-11-11 06:55:11