我有如下數組:發現了許多跟隨序列中的特定號碼
int [] array = { 9, 8, 3, 2, 3, 2 };
我希望當我拿起從陣列中的號碼寫一個聲明,它提供了以下數字作爲結果。
我揀選了8號,並根據它給出的號碼3的結果作爲結果。
我有如下數組:發現了許多跟隨序列中的特定號碼
int [] array = { 9, 8, 3, 2, 3, 2 };
我希望當我拿起從陣列中的號碼寫一個聲明,它提供了以下數字作爲結果。
我揀選了8號,並根據它給出的號碼3的結果作爲結果。
一種方式做到這一點是使用SkipWhile
達到搜索號的位置,跳過一個,並採取的第一個項目後:
var array = new[] { 9, 8, 3, 2, 3, 2 };
var next = array.SkipWhile(n => n != 8).Skip(1).First(); // next==3
此代碼假定兩件事情:
8
存在,並且感謝隊友,這是工作正常,但我正在尋找一種經典的方式,我的意思是,當我首先必須寫一個循環來迭代我的數組和一個if語句,我只是不知道如何:) – hodekal
@ hodekal我建議'while'循環,而不是'for',因爲循環結束後需要索引。找到所需值的索引後,使用裏面的「if」和「break」結束循環。只要你退出循環,增加索引,查看它是否有效,然後選擇增加索引的任何項目。 – dasblinkenlight
如果我正確理解你的問題,你要選擇後面的陣列中返回的下一個項目?
如果是這樣,你可以做以下的情況:
int index = Array.IndexOf(array, 8);
return array[index + 1];
有此實現一定的侷限性,請看這裏: https://msdn.microsoft.com/en-us/library/7eddebat(v=vs.110).aspx
不清楚你在問什麼! –
@ user2946329我認爲他們的意思是他們想要在列表中搜索下一個數字,因此8位於索引1,因此他們希望索引2中的索引爲3。 – juharr
您是否嘗試過任何操作?獲取數組中一個數字的索引,檢查下一個索引是否存在,並從數組中返回一個數字與下一個索引。 – Vadim