リスト内の指定された項目の前/次の項目を取得する<> 質問する

リスト内の指定された項目の前/次の項目を取得する<> 質問する

このリストがあると言っています: 1、3、5、7、9、13

たとえば、与えられた値が9の場合、前の項目は7、次の項目は13です。

C# を使用してこれを実現するにはどうすればよいでしょうか?

ベストアンサー1

使用できますインデクサー目的のインデックスの要素を取得します。インデックスに1を追加すると、インデックスから1を引くと前の要素。

int index = 4; 
int prev = list[index-1];
int next = list[index+1];

次のインデックスと前のインデックスが存在するかどうかを確認する必要があります。そうでない場合は、インデックス範囲外例外例外です。リストはゼロベースのインデックスしたがって、最初の要素にはインデックスが付き0、2 番目の要素にはインデックスが付きます1

if(index - 1 > -1)
   prev = list[index-1];
if(index + 1 < list.Length)
   next = list[index+1];

おすすめ記事