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

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

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

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

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

textual
Листинг программы
static void Main(string[] args)
        {
            Dictionary<string, List<string>> dict = new Dictionary<string, List<string>>();
            dict.Add("Grocery1", new List<string>() { "Watermelon", "Plum", "Apple", "Peach", "Grapes", "Milk" });
            dict.Add("Grocery2", new List<string>() { "Milk", "Plum", "Apple", "Peach", "Grapes" });
            dict.Add("Grocery3", new List<string>() { "Apple", "Plum", "Grapes" });
            dict.Add("Grocery4", new List<string>() { "Watermelon", "Plum", "Apple", "Peach", "Milk", "Grapes", "Egg" });
 
            List<string> basket = new List<string>() 
            { 
                "Watermelon", 
                //"Plum", 
                "Apple", 
                //"Peach", 
                //"Milk", 
                //"Grapes", 
                //"Egg",
            };
 
            var result = dict.Where(shop => basket.Intersect(shop.Value).Count() == basket.Count);
 
            foreach (var grocery in result)
            {
                Console.WriteLine(grocery.Key);
            }
 
            Console.ReadKey();
        }

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


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

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

15   голосов , оценка 3.933 из 5
Похожие ответы