我想设置数据类型而不必在C#中创建额外的变量。而不是创建一个空变量然后比较一个类型。
CustomType empty; //empty variable
CustomType RealFooBar = new CustomType("extremeFoobar", false) //custom datatype with data in it
if(RealFooBar.GetType() == empty.GetType())
//operation
我宁愿这样做:
CustomType RealFooBar // already has data
if(RealFooBar.GetType() == {CustomType})
//operation
有办法做到这一点吗?
我曾尝试typeof(CustomType)
一次,但似乎并没有这样做。或者我做得不对。
答案 0 :(得分:2)
如果您事先知道类型,则应使用typeof
,并且仅在您不知道时才使用GetType
,并且会在运行时更改。{/ p>
另一件事,如果你只需要比较你可以is
关键字,参考:
IS keyword
任何这些都应该有效:
if(RealFooBar is string)
if(RealFooBar.GetType() == typeof(string))