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

C#开发 作者: Rector 6 次阅读 · 读完约需 1 分钟 收藏本文

郑重申明:本文未经许可,禁止任何形式转载

问题描述

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应用程序编程开发中如何检测一个实例对象为指定的数据类型?

发布于: 2019-06-27 17:53:36
分享扩散:

发表评论

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