检查数组中的特定值

时间:2014-10-30 18:56:18

标签: c# arrays linq lambda

我有2个数组,我在下面比较。

int[] values = { 1, 2, 3, 4, etc };

int[,] limits = { { 1, 2 }, { 2, 5 }, { 2, 6 },etc };

我可以非常容易地比较数组中的所有元素,或者数组中的特定元素(如果它们是顺序的),看看它们是否都使用以下代码都在相应的限制范围内,

 if (Enumerable.Range(0, values.Length).All(x => values[x] >= limits[x, 0] && values[x] <= limits[x, 1]))
 {
    //Do something            
 };

但是,如果我只想检查数组中的特定非顺序缺陷,例如索引0,4,6&amp; 9我该怎么做?提前谢谢。

1 个答案:

答案 0 :(得分:5)

只需将Enumerable.Range替换为您要检查的索引集合

new[] {0, 4, 6, 9}.All(x => values[x] >= limits[x, 0] && values[x] <= limits[x, 1])