服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - C#基础知识之GetType与typeof的区别小结

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

2022-11-21 14:57陈大宝 C#

在比较对象时,需要了解他们的类型,才能决定他们的值是否能比较。所有的类都从System.Object中继承了GetType()方法,常常与typeo()运算符一起使用。这篇文章主要给大家介绍了关于C#基础知识之GetType与typeof区别的相关资料,需要的朋

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

一、GetType()与typeof()

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

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

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

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

?
1
2
3
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(类)的类型

以上就是两者的区别、在使用的过程当中可以留意两者的区别

到此这篇关于C#基础知识之GetType与typeof区别的文章就介绍到这了,更多相关C# GetType与typeof区别内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/ChenBigBao/p/14836097.html

延伸 · 阅读

精彩推荐
  • C#C# Web应用调试开启外部访问步骤解析

    C# Web应用调试开启外部访问步骤解析

    本文主要介绍了C# Web应用调试开启外部访问的实现过程与方法。具有一定的参考价值,下面跟着小编一起来看下吧...

    polk65552021-12-18
  • C#C# 通过 oledb 操作Excel实例代码

    C# 通过 oledb 操作Excel实例代码

    本篇文章主要介绍了C# 通过 oledb 操作Excel实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    李子康3762022-01-06
  • C#C#实现图片加相框的方法

    C#实现图片加相框的方法

    这篇文章主要介绍了C#实现图片加相框的方法,涉及C#图片及图形绘制的相关技巧,需要的朋友可以参考下...

    Microblue6462021-11-14
  • C#C#编程实现四舍五入、向上及下取整的方法

    C#编程实现四舍五入、向上及下取整的方法

    这篇文章主要介绍了C#编程实现四舍五入、向上及下取整的方法,涉及C#数学运算的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...

    碧水寒潭4152021-11-03
  • C#C# FileStream读写的文本操作代码分析

    C# FileStream读写的文本操作代码分析

    这篇文章主要分享了个人使用C# FileStream实现的读写的文本操作的小程序,主要是复习下对filestream的理解,希望对大家学习C#能够有所帮助...

    C#教程网6142021-12-02
  • C#深入理解C# 7.0中的Tuple特性

    深入理解C# 7.0中的Tuple特性

    这篇文章主要介绍了C#7中Tuple特性的相关资料,文中通过示例代码介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友可以们下面来一起学习学...

    Tony9422021-12-30
  • C#Visual Studio 未能加载各种Package包的解决方案

    Visual Studio 未能加载各种Package包的解决方案

    打开Visual Studio 的时候,总提示未能加载相应的Package包,有时候还无法打开项目,各种错误提示,怎么解决呢?下面小编给大家带来了Visual Studio 未能加载...

    jianxuanbing9882021-12-08
  • C#深入浅析C#中单点登录的原理和使用

    深入浅析C#中单点登录的原理和使用

    这篇文章主要介绍了C#中单点登录的原理和使用,需要的朋友可以参考下...

    农码一生3732022-01-25