为什么我不能直接使用数组作为判断语句?

时间:2018-01-02 06:12:20

标签: c# wpf

 private bool[] if_checkbox_enabled()
 {
     bool[] rst = new bool[5];
     rst[0] = (bool)a.IsChecked;
     rst[1] = (bool)b.IsChecked;
     rst[2] = (bool)c.IsChecked;
     rst[3] = (bool)d.IsChecked;
     rst[4] = (bool)e.IsChecked;
     return rst;
 }

正确的案例:

bool[] result = { false, false, false, false, false };
if (if_checkbox_enabled() == result)//no problem
{...}

错误的情况:

if (if_checkbox_enabled() == { false, false, false, false, false })//reports error
{...}

为什么我不能直接使用bool类型数组作为判断语句?谢谢!

1 个答案:

答案 0 :(得分:0)

你的第一个例子也是错误的。你不能像那样比较阵列。您可以按每个元素简单循环比较它们,也可以使用SequenceEqual;

bool[] result = { false, false, false, false, false };
if (if_checkbox_enabled().SequenceEqual(result))
{
      //Do something          
}

if (if_checkbox_enabled().SequenceEqual(new bool[]{ false, false, false, false, false }))
{

}