Если я вас правильно понял, вы можете попробовать Linq :
От object[][]
до Dictinary<string, object>
:
using System.Linq;
...
Dictionary<string, object> dictionary = parameters
//.Where(line => line.Length == 2 && line[0] != null) // valid params only
.ToDictionary(line => line[0].ToString(),
line => line[1]);
Вернуться к object[][]
:
using System.Linq;
...
object[][] parameters = dictionary
.Select(pair => new object[] {pair.Key, pair.Value})
.ToArray();
Редактировать: В случае, если нам нужно переключиться на List<KeyValuePair<String, Object>>
(мы хотим сохранить начальный порядок ; пары словаря не в порядке):
Кому:
List<<KeyValuePair<String, Object>> list = parameters
//.Where(line => line.Length == 2 && line[0] != null) // valid params only
.Select(line => new KeyValuePair(line[0].ToString(), line[1]))
.ToList();
Назад: (технически, то же самое)
object[][] parameters = list
.Select(pair => new object[] {pair.Key, pair.Value})
.ToArray();