キーと値が連続で並ぶ配列から、キー、値のペアを列挙したいとき、下記のように書いた。
他に良い方法があるかも。
pair.cs
var hoges = new string[] { "key1", "value1", "key2", "value2", "key3", "value", };
var numOfPair = hoges.Count() / 2;
foreach (var pair in Enumerable.Range(0, numOfPair)
.Select(i => new { Key = hoges[i * 2],
Value = hoges[i * 2 + 1], }))
{
// pair.Key ...
// pair.Value ...
}