2015-11-18 39 views
0

我有如下數組:發現了許多跟隨序列中的特定號碼

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

我希望當我拿起從陣列中的號碼寫一個聲明,它提供了以下數字作爲結果。

我揀選了8號,並根據它給出的號碼3的結果作爲結果。

+1

不清楚你在問什麼! –

+0

@ user2946329我認爲他們的意思是他們想要在列表中搜索下一個數字,因此8位於索引1,因此他們希望索引2中的索引爲3。 – juharr

+0

您是否嘗試過任何操作?獲取數組中一個數字的索引,檢查下一個索引是否存在,並從數組中返回一個數字與下一個索引。 – Vadim

回答

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.

+0

感謝隊友,這是工作正常,但我正在尋找一種經典的方式,我的意思是,當我首先必須寫一個循環來迭代我的數組和一個if語句,我只是不知道如何:) – hodekal

+0

@ hodekal我建議'while'循環,而不是'for',因爲循環結束後需要索引。找到所需值的索引後,使用裏面的「if」和「break」結束循環。只要你退出循環,增加索引,查看它是否有效,然後選擇增加索引的任何項目。 – dasblinkenlight