>  기사  >  백엔드 개발  >  C# 개체 유형 확인

C# 개체 유형 확인

王林
王林원래의
2024-09-03 15:05:441082검색

C#은 개체를 프로그램의 모든 파생 클래스에 대한 기본 클래스로 간주하는 프로그래밍 언어입니다. 모든 유형은 파생 클래스의 속성을 확장하여 일부 기능을 수행하는 데 추가로 사용되는 객체에서 상속됩니다. 파생되는 C# 개체에는 기본 형식의 개체를 참조하고 역참조하는 몇 가지 메서드와 기능이 있습니다. 파생 클래스와 기본 클래스 모두에서 객체 참조는 생성되는 객체 유형을 확인하는 데 중요한 역할을 합니다. 객체 유형을 확인하기 위해서는 기본 클래스 객체와의 캐스팅이 필수입니다.

구문:

C#에서 개체 유형을 확인하는 구문 흐름은 개체 유형과 이와 관련된 개체 특성을 가져오는 것입니다.

public Type GetType ();

객체 유형이 이미 식별된 경우 C# 객체를 식별하는 데 typeof()가 사용됩니다.

() 유형

C#에서 개체 유형을 확인하는 방법은 무엇입니까?

C#에서 객체 유형 확인은 구현과 관련된 객체의 유형과 세부 사항을 결정하는 데 중추적인 역할을 합니다. 이러한 세부 사항은 구현 및 요구 사항 충족 측면에서 프로그래머에게 매우 중요합니다. 따라서 C#의 개체를 확인할 수 있는 특정 방법은 다음과 같습니다.

  • GetType()은 C#에서 개체 유형을 확인하는 데 자주 사용되는 메서드입니다. 이 메소드는 런타임에 동작하는데 주로 사용되며, 실행 시 단일 객체를 엔터티로 호출할 때 주로 사용됩니다.
  • Get type() 메소드는 클래스의 인스턴스에 대한 참조를 만드는 데 사용되는 객체 클래스의 메소드입니다.
  • Type of는 객체 유형을 하나로 컴파일한 다음 전체를 만들어 객체의 유형과 컴파일 시 해당 설명을 가져오는 데 사용되며 해당 유형의 피연산자가 사용자가 제공했는지 또는 사용자가 제공했는지 알 수 있도록 합니다. 시스템에서 제공합니다.
  • Get type() 메서드를 사용하는지 아니면 알려진 유형의 인수 또는 매개변수의 경우 0f 유형을 사용하는지 여부는 모두 시스템과 확인 및 수정을 위해 값을 반환하는 방법에 대한 반환 유형에 따라 다릅니다.
  • 마침내 두 가지 방법을 모두 사용한 후 정보의 메타데이터를 생성하거나 C# 프로그램에서 개체 생성 시 어떻게든 결과를 저장하는 데 사용되는 전체 클래스의 메타데이터를 생성합니다.
  • 또한 C#의 객체 유형이 실행 전에 선언된다는 점과 같이 명심해야 할 매우 중요한 점이 있습니다. 이 경우 get type() 메소드가 가져오는 데 도움이 되며, 이 경우 객체 C#에서 생성할 유형은 선언되지 않으며 이미 메타데이터로 존재하는 유형에 따라 달라지며 이 경우 런타임 시 유형을 사용할 수 있습니다.
  • 연산자는 인스턴스가 상속 트리 형식임을 나타내는 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 값을 반환해야 하는 경우 개체에 대한 is 연산자를 보여줍니다.

코드:

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:캡슐화 C#다음 기사:캡슐화 C#