キーと値が連続で並ぶ配列から、キー、値のペアを列挙したい


キーと値が連続で並ぶ配列から、キー、値のペアを列挙したいとき、下記のように書いた。
他に良い方法があるかも。

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 ...
}