【发布时间】:2013-03-19 18:19:42
【问题描述】:
我遇到了一个不正确的问题。这听起来有点奇怪,我也这么认为,这就是为什么我想我会就此展开讨论。
这是我的精简代码:
static void Main(string[] args)
{
bool[] myValuesBls = new bool[10];
for (int i = 1; i < 10; i++)
{
if (i == 7)
myValuesBls[i] = true;
else
myValuesBls[i] = false;
}
bool myIsShouldBeTrue = false;
foreach (bool valueBl in myValuesBls)
{
myIsShouldBeTrue = valueBl;
}
Console.WriteLine(myIsShouldBeTrue);
Console.ReadLine();
}
这些值返回 false,我很确定这是不可能的。我的数组中的第七项是 TRUE。
【问题讨论】:
-
您的 Console.WriteLine() 在 foreach 循环之外,因此它只有数组中最后一个元素的值,这是错误的。如果你将 Console.WriteLine() 移动到 foreach 中,那么你应该得到完整的序列,打印出正确的真假......
-
您的代码未评估。 LOOP 的用途是什么,仅使用 microsoft LINQ 的大部分用于循环省略。
标签: c# arrays foreach boolean console-application