首页 >后端开发 >C#.Net教程 >C# 检查对象类型

C# 检查对象类型

王林
王林原创
2024-09-03 15:05:441153浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn