如何展开以下示例以返回bool数组:
例如;
int[] data = { 1, 2, 5, 6 };
int[] data1 = { 2, 4, 6, 1};
int[] data2 = { 3, 2, 3, 0};
var results = Enumerable.Range(0, data.Length).Where(i => data[i] > 2 && data1[i] < 7 && data2[i] > 1 );
获得结果= { 2 }
,它是满足各自条件的所有三个数组的索引
预期结果:{False, False, True, False}
- &gt;这个结果如何形成。
目前使用的方法(详细不整齐):
for(int j = 0; j < h1.Length; j++)
{
if (h1[j] < 0.0 && h2[j] > 0.0 && h3[j] > threshold == true)
{
result[j] = true;
}
else
{
result[j] = false;
}
}
参考:[1]
答案 0 :(得分:3)
而不是Where()
来过滤集合,使用Select()
投影结果:
var results = Enumerable.Range(0, data.Length).Select(i => data[i] > 2 && data1[i] < 7 && data2[i] > 1);