>>171
すみません、
 string prevValue = null;
 foreach (string value in strList)
 {
  // 何か処理(ここでprevValueを参照すると1つ前の値が取れる)
  prevValue = value;
 }

このコードって相手がlistじゃ無くて配列でも使えますか?
あと目的の変数はintで、それぞれの変数の値がかぶっていないわけではないので
IndexOfで自分の位置を割り出すのは無理かと思います。