比较两种类型

时间:2011-02-02 14:23:34

标签: c# .net

我的班级看起来很像这样:

object value;
Type type;

当我创建对象时,我将类型设置为Object的类型。

如何将此类型与其他类型进行比较?

例如,如果类型为String

type.Equals(String)

type == String 

不起作用。

5 个答案:

答案 0 :(得分:14)

在此上下文中,您将Type实例与typeof(T)的结果进行比较,其中T是您要比较的类型。

bool objectIsString = myType == typeof(string);

答案 1 :(得分:3)

检查这可能会对您有所帮助。使用 Object.GetType()

http://msdn.microsoft.com/en-us/library/system.object.gettype.aspx

答案 2 :(得分:1)

这应该可行

bool isSameType = (value != null && value.GetType() == type);

答案 3 :(得分:0)

Type.Equals()要求您也传递一个Type。因此,将字符串转换为类型:

type.Equals(GetType(string))

答案 4 :(得分:0)

if(typeitem is string)
{
   // Your Code
}