如何用is关键字看struct是否是Object?
建立一个新的控制台程序,下面的代码编译错误:
struct s
{
int i;
}
if (s is Object)
{
Console.WriteLine("Yes");
}
提示'ConsoleApplication.s' is a 'type' but is used like a 'variable'
问题: 这个错误是什么含义? 我如何能判断结构体定义s是否被C#编译器认为是Object呢? 我把if语句改成了if( s is object)注意用了小写object,还是不行。
顺便问一下,大写的Object(类名)和小写object(关键字)其用法上有什么根本区别么?
谢谢。
------解决方案--------------------结构体是值类型,而is前面的是引用类型,所以报错了。
------解决方案--------------------struct s
{
int i;
}
if (typeof(s).IsValueType)
{
Console.WriteLine("Yes");
}