我有一个数字数组列表。我正在搜索两个数组,其中我的搜索编号介于索引 0 中的数字之间。然后从第二个数组返回索引 1 中的数字。(假设索引 0 中的数字已经排序并且没有重复)
我对 LINQPad 的错误解决方案:
'found' 的值应该是 3,因为 9 在第二个和第三个数组中介于 4 和 10 之间。然后我取第二个找到的数组并返回 3,它位于该数组的索引 1 中。
List<int[]> list = new List<int[]> { new[] { 1, 5 }, new[] { 4, 6 }, new[] { 10, 3} , new[] { 15, 8} };
int searchFor = 9;
int found = list.Where(n => searchFor >= n[0] && searchFor <= n[0]).Select(i => i[1]).FirstOrDefault();
found.Dump(); //should be 3 instead of 0.