检查数组中的特定值

本文关键字:数组 检查 | 更新日期: 2023-09-27 18:28:26

我有两个数组,下面进行比较。

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            
 };

然而,如果我想只检查数组中特定的、非序列的indences,例如索引0,4,6&9我该怎么做?提前感谢。

检查数组中的特定值

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

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