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)}");

C#基础知识之GetType与typeof的区别小结

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


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

C#基础知识之GetType与typeof的区别小结

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

C#基础知识之GetType与typeof的区别小结

 由此可知使用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
0
投稿

猜你喜欢

  • C#移除所有事件绑定的方法

    2023-07-25 11:00:52
  • SSM框架实现分页和搜索分页的示例代码

    2022-04-13 04:52:49
  • 基于Java实现一个简单的单词本Android App的实践

    2023-04-17 21:27:39
  • Java反射机制详解_动力节点Java学院整理

    2022-08-19 18:10:13
  • 详解Java设计模式——命令模式

    2023-11-23 05:00:07
  • Java多线程编程中使用Condition类操作锁的方法详解

    2023-10-19 13:30:55
  • Java实现石头剪刀布小游戏

    2023-02-25 22:41:29
  • Java设计模式之迭代模式(Iterator模式)介绍

    2022-07-24 16:03:29
  • JDK14新特性之switch表达式的实现

    2022-06-01 17:49:31
  • java9中gc log参数迁移

    2022-06-28 03:21:01
  • Android开发实现控件双击事件的监听接口封装类

    2023-02-15 00:56:18
  • 浅谈让@Value更方便的Spring自定义转换类

    2023-10-06 14:01:02
  • Spring AOP 后置通知修改响应httpstatus方式

    2022-06-05 06:54:26
  • 使用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
  • asp之家 软件编程 m.aspxhome.com