查找序列中特定数字后面的数字

时间:2015-11-18 18:54:27

标签: c# arrays

我有以下数组:

int [] array = { 9, 8, 3, 2, 3, 2 };

当我从数组中选择一个数字时,我想写一个语句,它会给出以下数字作为结果。

对于examaple我选择数字8并根据它给出的数字3的结果。

2 个答案:

答案 0 :(得分:1)

一种方法是使用SkipWhile到达搜索号的位置,跳过一个,然后取出第一个项目:

var array = new[] { 9, 8, 3, 2, 3, 2 };
var next = array.SkipWhile(n => n != 8).Skip(1).First(); // next==3

此代码假设有两件事:

  • 搜索号8在那里,
  • 搜索号序列中的最后一个数字。

Demo.

答案 1 :(得分:0)

如果我正确理解你的问题,你想在选择后返回数组中的下一个项目吗?

如果是这种情况,您可以执行以下操作:

int index = Array.IndexOf(array, 8);
return array[index + 1];

此实施存在一些限制,请参见此处: https://msdn.microsoft.com/en-us/library/7eddebat(v=vs.110).aspx