首页 / C#开发 / 正文

C#/.NET应用程序编程开发中如何检测一个实例对象为指定的数据类型?

1559 1 发布于: 2019-06-27 读完约需2分钟

问题描述

C#/.NET应用程序编程开发中,如何判断一个实例对象是一种指定的数据类型呢?

比如当前有Customer类:

public class Customer
{
    public int Id { get; set; }
}

我们为Customer创建一个实例对象c,如下:

var c = new Customer { Id = 1 };

要求判断c是否为Customer的实例,如何实现呢?

方案一

如果想要检查一个实例(这里的c)是否是精确的类型(这里的Customer),那么可以直接比较使用c.GetType()获取到实例的类型,然后使用typeof()获取到类的类型,如下:

if (c.GetType() == typeof(Customer))

如果想判断cCustomer的实例还是子类,那么使用is/as,如下:

if (c is Customer)

或者

Customer customer = c as Customer;
if (customer != null)

方案二

使用GetType()方法获取到实例对应的类名,然后与指定的类名进行比较(这种比较只能判断精确的类型),如下:

if(c.GetType().Name.CompareTo("Customer") == 0)

温馨提示:本文标注有(完整示例)的示例代码可以直接粘贴在try.dot.net中运行。

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: C#/.NET应用程序编程开发中如何启动一个可执行的应用程序?

下一篇: C#/.NET应用程序编程开发中如何替换字符串中的多个字符?

本文永久链接码友网 » C#/.NET应用程序编程开发中如何检测一个实例对象为指定的数据类型?

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册