.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();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д