char[] chars = {'a', ' ', 's', 't', 'r', 'i', 'n', 'g'};
string s = new string(chars);
Лучшим вариантом было бы обернуть ваш собственный класс Tuple, вроде того, что поставляется в .NET 4.0 .
Тогда у вас может быть одно:
List<Tuple<string,string,string>>
Это достаточно легко написать в .NET 2.0 - это просто триплет значений вместо двух в KeyValuePair. Однако в .NET 2.0 нет встроенного эквивалента для триплета значений.
Изменить:
Прочитав ваш комментарий о запросах в другом посте, я подумал, что тоже упомянул бы об этом -
Даже если у вас нет уникальных значений в key1, вы можете значительно ускорить любой тип запроса / поиска, используя:
Dictionary<string, List<KeyValuePair<string,string>>>
Затем, вместо хранения одной KeyValuePair, вы можете искать их список с помощью ключа в первый элемент. Это было бы намного быстрее, если бы вам нужно было найти все элементы с заданным первым ключом ...
struct MrStruct
{
public string Key1,
public string Key2,
public string Value1
}
List<MrStruct>;
Предполагается, что вы обращаетесь к списку последовательно, как вы сказали «итерация». Потенциально другие структуры данных могут быть быстрее для поиска.