回覆列表
  • 1 # 使用者4691955236311

    MSDN上typeof的說明:“用於獲取型別的 System.Type 物件。”

    typeof是運算子(一些書叫運算子),這點很重要。在C#中所有的運算子最後都變為函數了。這也就不奇怪為什麼一個看似函式的東西卻被稱為運算子的原因了。

    注意返回的是Type物件,內含有許多資訊。如型別的資訊。方法有哪些,屬性有哪些,欄位有哪些。如果用其它的技術,如反射、序列化什麼的,配合使用的話會更方便。

    擴充套件資料

    typeof(x)中的x,必須是具體的類名、型別名稱等,不可以是變數名稱。

    GetType()方法繼承於Object(C#中所有類的基類都是object類。基類是相對於派生類而言的,比方說:如果B類繼承自A類,則A就是B的基類。),所以C#中任何物件都具有GetType()方法,它的作用和typeof()相同,返回Type型別的當前物件的型別。

    舉例說明:

    有這樣一個變數i: Int32 i = new Int32();

    i.GetType()返回值是Int32的型別,但是無法使用typeof(i),因為i是一個變數。如果要使用typeof(),則只能:typeof(Int32),返回的同樣是Int32的型別。

    Typeof()是運算子,用於獲取型別的 System.Type 物件。而GetType是方法,獲取當前例項的型別;Typeof()的引數只能是int,string,String,自定義型別,且不能是例項;

  • 中秋節和大豐收的關聯?
  • 好怕怕,什麼是陰兵借道?