首頁 > 後端開發 > C#.Net教程 > C# 檢查物件類型

C# 檢查物件類型

王林
發布: 2024-09-03 15:05:44
原創
1143 人瀏覽過

C# 是一種將物件視為程式中所有衍生類別的基底類別的程式語言。所有類型都從物件繼承,這些物件透過擴展派生類別的屬性進一步用於執行某些功能。派生的 C# 物件具有一些方法和能力來引用和取消引用基底類型的任何物件。在派生類別和基底類別的情況下引用物件對於檢查所建立的物件類型都起著重要作用。必須使用基類物件進行強制轉換,以使其相容以檢查物件類型。

文法:

C# 中檢查物件類型的語法流程是取得物件的類型及其關聯的物件性質。

public Type GetType ();
登入後複製

如果已經識別了物件類型,則使用 typeof() 來識別 C# 物件

typeof()

如何在 C# 中檢查物件類型?

C# 中的物件類型檢查在確定與實作相關的物件的類型和細節方面起著關鍵作用。這些細節對於程式設計師的實作和需求滿足來說非常重要。因此,可以使用某些方法來檢查 C# 中的對象,如下所示:

  • GetType() 是 C# 中常用於檢查物件類型的方法。此方法用於運行時工作,主要用於在執行時將單一物件作為實體來呼叫。
  • Get type() 方法是物件類別中的一個方法,用來引用該類別的實例。
  • Type of 用於將物件類型編譯為一個,然後用於在編譯時整體獲取物件的類型及其描述,從而使操作數知道其類型是使用者給定的還是由系統提供。
  • 對於某些已知類型的參數或參數,我們是否使用 Get type() 方法或 type 0f ,這完全取決於系統及其傳回類型,即我們將如何傳回其中的值以進行檢查和修改。
  • 最後,在使用這兩種方法之後,它會創建資訊的元數據,或者說整個類別的元數據,用於在 C# 程式中創建物件時以某種方式儲存結果。
  • 此外,還有一點需要牢記,例如C# 中的物件類型是在執行之前聲明的,在這種情況下, get type() 方法將有助於獲取對象,如果情況如此在C# 中創建的類型未聲明,並且取決於已經作為元資料存在的類型,那麼在這種情況下,可以在運行時使用類型。
  • Is 運算子也用於取得值,主要用於當實例傳回值為 true 或 false 時表示該實例是繼承樹的形式?

範例

讓我們討論一下 C# 檢查物件類型的範例。

範例#1

程式示範了 C# 中物件的用法以及系統中已內建的對象,如輸出所示。

代碼:

using System;
using System.Text;
class Demo_Prog
{
static void Main()
{
object vl_1 = new StringBuilder();
Console.WriteLine(vl_1.GetType());
}
}
登入後複製

輸出:

C# 檢查物件類型

範例#2

程式示範了 GetType() 方法的使用,該方法經常用於檢查 C# 的物件類型,也可以在執行時執行時需要時使用,如輸出所示。

代碼:

using System;
namespace Consl_App1
{
class Fruit { }
class Kiwi : Fruit { }
class Pro_g
{
static Fruit newFruit()
{
return new Kiwi();
}
static void Main(string[] args)
{
Fruit f = newFruit();
Console.WriteLine(typeof(Fruit));
Console.WriteLine(f.GetType());
Console.ReadKey();
}
}
}
登入後複製

輸出:

C# 檢查物件類型

範例 #3

程式示範了類別中從基底物件派生的物件(如輸出所示),以識別 C# 中類別中物件的類型。

代碼:

using System;
public class M_Bs_Cl {
}
public class M_Drvd_Cl: M_Bs_Cl {
}
public class Test
{
public static void Main()
{
M_Bs_Cl m_bs = new M_Bs_Cl();
M_Drvd_Cl m_Drvd = new M_Drvd_Cl();
object obj = m_Drvd;
M_Bs_Cl bsc = m_Drvd;
Console.WriteLine("m_bs: Type is obj{0}", m_bs.GetType());
Console.WriteLine("m_Drvd: Type is obj{0}", m_Drvd.GetType());
Console.WriteLine("object obj = m_Drvd: obj_Type is {0}", obj.GetType());
Console.WriteLine("M_Bs_Cl b = myDerived: Type is {0}", bsc.GetType());
}
}
登入後複製

輸出:

C# 檢查物件類型

範例#4

程式示範了對象的用法以及所有各種類型的參數作為對象,如輸出所示。這些不同類型的參數用於獲取值,並且物件的類型根據其擁有的性質來標識。

代碼:

using System;
class Demo_Prog
{
static void Main()
{
string vl_1 = "Java Pearl Ruby";
Verify(vl_1);
Verify((object)vl_1);
int num = 150;
Verify(num);
Verify((object)num);
Verify(null);
}
static void Verify(object vl_1)
{
Console.WriteLine(vl_1 != null);
if (vl_1 is string)
{
Console.WriteLine("Value_Of_String: {0}", vl_1);
}
else if (vl_1 is int)
{
Console.WriteLine("Value_Of_int: {0}", vl_1);
}
}
}
登入後複製

輸出:

C# 檢查物件類型

範例#5

此程式示範了 is 是一個與物件相關的運算符,對於任何引用顯示樹中繼承關係的實例(如輸出中所示),它必須傳回 true 值。

代碼:

using System;
public class C1
{
}
public class C2: C1
{
}
public class C3 {
}
public class sck_br {
public static void Main()
{
C1 ob_1 = new C1();
C2 ob_2 = new C2();
Console.WriteLine(ob_1 is C1);
Console.WriteLine(ob_1 is Object);
Console.WriteLine(ob_2 is C2);
Console.WriteLine(ob_2 is Object);
Console.WriteLine(ob_2 is C2);
Console.WriteLine(ob_2 is C3);
Console.WriteLine(ob_2 is C3);
}
}
登入後複製

輸出:

C# 檢查物件類型

結論

C# 物件類型主要由程式設計師使用,以便在編譯時或有時在程式執行時執行時取得有關物件的詳細資訊。傳回值的類型取決於執行或編譯時所需的變數或物件的類型。因此,創建 C# 物件類型在資訊元資料方面起著非常重要的作用。

以上是C# 檢查物件類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板