C#基礎(chǔ)知識之GetType與typeof的區(qū)別小結(jié)
在實際開發(fā)中經(jīng)常需要了解具體對象的類型,所以經(jīng)常會使用GetType()和typeof()、盡管可以得到相應(yīng)的類型、但兩者之間也存在一些差別,接下來我們一起來了解一下吧。
一、GetType()與typeof()
1、typeof():typeof 運算符用于獲取某個類型的 System.Type實例。 typeof 運算符的實參必須是類型或類型形參的名稱,如以下示例所示:控制臺輸出:
Console.WriteLine($"得到類型為:{typeof(int)}"); Console.WriteLine($"得到類型為:{typeof(string)}");
2、GetType():GetType()方法繼承自O(shè)bject,所以C#中任何對象都具有GetType()方法,它的作用和typeof()相同,返回Type類型的當前對象的類型并控制臺輸出:
int i = 1; var iresult = i.GetType(); Console.WriteLine($"得到類型為:{iresult}");
就拿Int類型來說兩者都是返回System.Int32、但是使用的方式卻不同?那如果采用typeof(iresult)來獲取結(jié)果呢?答案是不能、如下所示
由此可知使用typeof()來獲取類型時、只能傳入具體的類型如int、string、或者自定義類型等等、使用GetType()則是獲取當前對象、實例的具體類型。
二、總結(jié)
1.Gettype()是從System.Object中繼承的方法,返回值為type類型當前對象的類型;typeof(XX)是運算符,XX必須是具體的類名、類型名稱等,不可以是變量名。
2.Gettype()必須是創(chuàng)建具體的對象(實例)才能使用,
3.typeof()的參數(shù)只能是int,string 等類型及自定義類型,不能是實例。
4.Gettype返回的是實例的type(類型),而typeof返回的是Class(類)的類型
以上就是兩者的區(qū)別、在使用的過程當中可以留意兩者的區(qū)別
到此這篇關(guān)于C#基礎(chǔ)知識之GetType與typeof區(qū)別的文章就介紹到這了,更多相關(guān)C# GetType與typeof區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#?OpenCvSharp?顏色反轉(zhuǎn)實例詳解
OpenCVSharp是OpenCV的.NET?wrapper,它比Emgucv更接近于原始的OpenCV,并且有很多的樣例參考,其采用LGPL發(fā)行,對商業(yè)應(yīng)用友好(基本上相當于BSD),這篇文章主要介紹了C#?OpenCvSharp?顏色反轉(zhuǎn)的知識,需要的朋友可以參考下2024-02-02在C#中基于Semantic?Kernel的檢索增強生成(RAG)實踐記錄
SemanticKernel是一個用于集成和操作大語言模型的應(yīng)用程序框架,支持C#、Python和Java等多種編程語言,通過SemanticKernel,開發(fā)者可以輕松構(gòu)建基于最新AI技術(shù)的應(yīng)用程序2024-10-10C#實現(xiàn)從windows剪貼板獲取內(nèi)容的方法
這篇文章主要介紹了C#實現(xiàn)從windows剪貼板獲取內(nèi)容的方法,涉及C#操作剪貼板的相關(guān)技巧,非常簡單實用,需要的朋友可以參考下2015-05-05