目录
如何在 C# 中检查对象类型?
示例#5
结论
首页 后端开发 C#.Net教程 C# 检查对象类型

C# 检查对象类型

Sep 03, 2024 pm 03:05 PM
c# c# tutorial

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

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

使用 C# 的活动目录 使用 C# 的活动目录 Sep 03, 2024 pm 03:33 PM

使用 C# 的 Active Directory 指南。在这里,我们讨论 Active Directory 在 C# 中的介绍和工作原理以及语法和示例。

C# 序列化 C# 序列化 Sep 03, 2024 pm 03:30 PM

C# 序列化指南。这里我们分别讨论C#序列化对象的介绍、步骤、工作原理和示例。

C# 中的随机数生成器 C# 中的随机数生成器 Sep 03, 2024 pm 03:34 PM

C# 随机数生成器指南。在这里,我们讨论随机数生成器的工作原理、伪随机数和安全数的概念。

C# 数据网格视图 C# 数据网格视图 Sep 03, 2024 pm 03:32 PM

C# 数据网格视图指南。在这里,我们讨论如何从 SQL 数据库或 Excel 文件加载和导出数据网格视图的示例。

C# 中的阶乘 C# 中的阶乘 Sep 03, 2024 pm 03:34 PM

C# 阶乘指南。这里我们讨论 C# 中阶乘的介绍以及不同的示例和代码实现。

C# 中的模式 C# 中的模式 Sep 03, 2024 pm 03:33 PM

C# 模式指南。在这里,我们讨论 C# 中模式的介绍和前 3 种类型,以及其示例和代码实现。

c#多线程和异步的区别 c#多线程和异步的区别 Apr 03, 2025 pm 02:57 PM

多线程和异步的区别在于,多线程同时执行多个线程,而异步在不阻塞当前线程的情况下执行操作。多线程用于计算密集型任务,而异步用于用户交互操作。多线程的优势是提高计算性能,异步的优势是不阻塞 UI 线程。选择多线程还是异步取决于任务性质:计算密集型任务使用多线程,与外部资源交互且需要保持 UI 响应的任务使用异步。

C# 中的质数 C# 中的质数 Sep 03, 2024 pm 03:35 PM

C# 素数指南。这里我们讨论c#中素数的介绍和示例以及代码实现。

See all articles