2016-01-05 5 views
-1

У меня есть Dictionary<string, List<string>>, я использовал, чтобы вернуться к значению с помощьюсловарь <строка, список <string>> итерация ASP.NET2.0

List<string> keyDicoList = DictErrorCorrectionBeforeJS.Keys.ToList(); 
List<string> listValue = DictErrorCorrectionBeforeJS.SelectMany(x => x.Value).ToList(); 

Но, похоже, на производстве ае с помощью ASP.NET 2.0, когда мы Dev в 4.0 ... Поэтому я стараюсь, чтобы восстановить их с помощью другого way.I найти для ключа:

foreach (string key in DictErrorCorrection.Keys) 
{ 
    keyDicoList.Add(key); 
} 

Но у меня есть проблемы с получением значения. Поскольку это не просто значение, а список внутри словаря. Я не могу сделать foreach на нем, и кажется, что это перечислитель, что я не могу просто пойти в цикл for, просто добавив Dico.Values ​​[x] в свой список.

Как я могу продолжить получить весь словарь.значения внутри моего списка?

+7

1. Линия вашу среду разработки с производственной средой .... с двумя различными средами для всех практических целей кодируется вслепую. – user2366842

+0

@ user2366842 как внешний ressource, кажется, мое мнение по этому вопросу не было принято (ни за то, что мы в IE5) – Slayner

+0

Сообщите им, что у вас нет достаточной настройки для выполнения вашей работы в этом случае, потому что вы честно этого не делаете, если это так. EDIT: и вы не можете масштабировать свою собственную среду? – user2366842

ответ

1

Вы можете просто перебрать их, используя foreach. Словарь переписчик дает KeyValuePair<string, List<string>>:

foreach (KeyValuePair<string, List<string>> kvp in dictionary) 
{ 
    string key = kvp.Key; 
    List<string> list = kvp.Value; 

    foreach (string listItem in list) 
    { 
     // .. use the item, or skip the foreach and use the list at once 
    } 
} 
+0

Перечислитель будет автоматическим циклом внутри моего списка значений? – Slayner

+1

Внутри словаря вы можете снова перебрать список, если хотите. –

+0

Итак, я могу просто завершить свой 2-х клавишный ключ и значение с помощью этой техники, и каждый раз я получаю один ключ + все его значение (в двух разделенных списках)? – Slayner

1

Как правило, перечислить КВП набор словаря:

List<string> values = new List<string>(); 

foreach (KeyValuePair<string, List<string>> kvp in dict) 
{ 
    values.AddRange(kvp.Value); // kvp.Value is List<string> 
} 
Смежные вопросы