.NET 4.x Перебор Dictionary и сравнение с элементами List - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Пишу программу и всё в толк не возьму, как осуществить перебор Dictionary по ключам и сравнение их значений со значениями List-а. Затем, если несколько значений совпало, мне нужно узнать ключ Dictionary, в котором были совпадения. Для примера должно получиться что-то такое:
Листинг программы
  1. public int keyIndex = 0;
  2. public void Checking(List<string> Slist)
  3. {
  4. foreach (var d in dict.Keys)
  5. {
  6. if (dict.Values.Contains(Slist))
  7. {
  8. keyIndex++;
  9. }
  10. }
  11. }

Решение задачи: «.NET 4.x Перебор Dictionary и сравнение с элементами List»

textual
Листинг программы
  1. static void Main(string[] args)
  2.         {
  3.             Dictionary<string, List<string>> dict = new Dictionary<string, List<string>>();
  4.             dict.Add("Grocery1", new List<string>() { "Watermelon", "Plum", "Apple", "Peach", "Grapes", "Milk" });
  5.             dict.Add("Grocery2", new List<string>() { "Milk", "Plum", "Apple", "Peach", "Grapes" });
  6.             dict.Add("Grocery3", new List<string>() { "Apple", "Plum", "Grapes" });
  7.             dict.Add("Grocery4", new List<string>() { "Watermelon", "Plum", "Apple", "Peach", "Milk", "Grapes", "Egg" });
  8.  
  9.             List<string> basket = new List<string>()
  10.             {
  11.                 "Watermelon",
  12.                 //"Plum",
  13.                 "Apple",
  14.                 //"Peach",
  15.                 //"Milk",
  16.                 //"Grapes",
  17.                 //"Egg",
  18.             };
  19.  
  20.             var result = dict.Where(shop => basket.Intersect(shop.Value).Count() == basket.Count);
  21.  
  22.             foreach (var grocery in result)
  23.             {
  24.                 Console.WriteLine(grocery.Key);
  25.             }
  26.  
  27.             Console.ReadKey();
  28.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.933 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы