C#将对象数组与布尔进行比较
本文关键字:布尔进 比较 数组 对象 | 更新日期: 2023-09-27 18:11:25
我有一个函数,它将向我返回每个元素中具有不同类型的对象数组。这是我努力实现的目标的一个小复制品。
public static object[] asset()
{
object[] tab = new object[11];
tab[0] = bool;
tab[1] = int;
tab[2] = int;
tab[3] = int;
tab[4] = int;
tab[5] = int;
tab[6] = string;
tab[7] = double;
tab[8] = float;
tab[9] = int;
tab[10] = ""; //string
return tab;
}
object[] testobject = new object[11];
testobject = asset();
If (testobject[0] = true)
{
}
所以我试图对对象[0]执行布尔检查,它是布尔。很明显,它不是这样工作的。我试着将object[0]转换为布尔值,然后测试它,这就是我对整数或双精度所做的,但它都不起作用。
有什么想法吗?
我认为您希望在检查之前进行强制转换,尽管很难说,因为您的代码中存在一些编译错误。
if ((bool)testobject[0] == true)
{
}
请注意使用==
而不是=
(这是一个赋值(。
您甚至可以将其缩短为:
if ((bool)testobject[0])
{
}
object[0] is bool
如果是bool
将生成true
,如果不是false
则生成CCD_6。
if (object[0] is bool)
{
bool myBool = (bool)object[0];
// do something with myBool
}
如果您使用:
bool? myBool = object[0] as bool?;
则如果该值不是CCD_ 9则CCD_。
bool? myBool = object[0] as bool?;
if (myBool != null)
{
// do something with myBool
}