ホームページ  >  記事  >  バックエンド開発  >  C# オブジェクトの種類をチェックする

C# オブジェクトの種類をチェックする

王林
王林オリジナル
2024-09-03 15:05:441074ブラウズ

C# は、オブジェクトをプログラム内のすべての派生クラスの基本クラスと見なすプログラミング言語です。すべての型はオブジェクトから継承され、派生クラスのプロパティを拡張することで一部の機能を実行するためにさらに使用されます。派生する C# オブジェクトには、基本型のオブジェクトを参照および参照解除するためのメソッドと機能がいくつかあります。派生クラスと基本クラスの両方の場合におけるオブジェクトの参照は、作成されるオブジェクトの型をチェックするために重要な役割を果たします。オブジェクト型をチェックする互換性を持たせるためには、基本クラス オブジェクトでのキャストが必須です。

構文:

C# でオブジェクトの型をチェックするための構文フローは、オブジェクトの型とそれに関連付けられたオブジェクトの性質を取得することです。

public Type GetType ();

オブジェクトのタイプがすでに識別されている場合は、C# オブジェクトの識別に typeof() が使用されます

typeof()

C# でオブジェクトの型を確認するには?

C# でのオブジェクト型チェックは、実装に関連するオブジェクトの型と詳細を決定する際に重要な役割を果たします。これらの詳細は、実装と要件を満たすという点でプログラマにとって非常に重要です。したがって、C# のオブジェクトをチェックできる特定の方法は次のとおりです。

  • GetType() は、C# でオブジェクトの型を確認するためによく使用されるメソッドです。このメソッドは実行時に動作するために使用され、主に実行時に単一のオブジェクトをエンティティとして呼び出すために使用されます。
  • Get type() メソッドは、クラスのインスタンスの参照を作成するために使用されるオブジェクト クラスのメソッドです。
  • Type of は、オブジェクト タイプを 1 つにコンパイルするために使用され、コンパイル時にオブジェクトのタイプとその説明を取得するために全体を作成するために使用されます。これにより、ユーザーによって指定されたかどうかに関係なく、そのタイプのオペランドが認識されます。システムによって提供されます。
  • 既知の型の引数やパラメータの場合に 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

このプログラムは、C# のオブジェクト型をチェックするために非常に頻繁に使用される GetType() メソッドの使用方法を示します。また、出力に示されているように、実行時の実行時に必要な場合にも使用されます。

コード:

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

このプログラムは、出力に示されているように、参照がツリー内の継承を示しているインスタンスに対して 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:カプセル化C#次の記事:カプセル化C#