读书人

怎么用is关键字看struct是否是Object

发布时间: 2013-09-05 16:02:07 作者: rapoo

如何用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");
}

读书人网 >C#

热点推荐