C#如何比较两个变量是否属于同一类型?

时间:2017-01-15 12:28:06

标签: c# types

你们可以帮我解决一下如果两个变量来自C#中的同一类型吗?我已经搜索了几天这个答案,我找到的就是我已经知道的:使用typeof()和object.GetType()。我认为两个人一起工作会管理这个,但他们只是没有。之后,深入研究MS文档,我理解为什么(typeof()和a.GetType()返回不同的数据),但我会把这里放在我第一次尝试的地方。

我尝试过类似的事情:

if(varA.GetType() == typeof(varB.GetType()))
{
   //Do something...
}

我想要类似......

if(varB.SameTypeOf(varB)) //In this example returns true because both are type of int
{
    //So something...
}

另外,我尝试过 System.Type ,但它并不是我想要的。

1 个答案:

答案 0 :(得分:1)

typeof用于从类型名称中获取类型对象。在您的情况下,您应该可以使用a.GetType() == b.GetType()。根据您尝试做的具体情况,您也可以使用a.GetType().IsAssignableFrom(b.GetType())

Type还有许多其他有用的方法来完成类似于您正在做的事情: