Najlepszym rozwiązaniem byłoby owinięcie własnej klasy Tuple, podobnej do tej shipping in .NET 4.0.
Wtedy można mieć pojedyncza:
List<Tuple<string,string,string>>
Jest to dość łatwe do napisania w .NET 2.0 - to w zasadzie tylko trójka z wartościami, zamiast 2 w KeyValuePair. Nie ma wbudowanego equivelentu dla tripletu wartości w .NET 2.0.
Edit:
Po przeczytaniu komentarz o kwerend w innym poście, pomyślałam, że wspomina o tym, jak dobrze -
Nawet jeśli nie mają unikalne wartości w key1, ty może znacznie przyspieszyć dowolny typ kwerendy/wyszukiwania przy użyciu:
Dictionary<string, List<KeyValuePair<string,string>>>
Następnie, zamiast przechowywania pojedynczy KeyValuePair, można spojrzeć na ich listę za pomocą klawisza w pierwszym e lement. Byłoby to znacznie, znacznie szybciej, gdybyś potrzebował znaleźć wszystkie elementy z pierwszym kluczem ...
odpowiedzi na to pytanie mogą być pomocne http://stackoverflow.com/questions/101825/whats-the- best-of-using-a-pair-triple-etc-of-value-as-one-value-in-c –