Как сравнить два списка - C#

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

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

Есть два списка
var lst1 = new List<string>(){"1","2","3"};
var lst2 = new List<string>(){"4","2","3"};
С помощью Intersect я вывожу те элементы которые повторяются однако хотелось бы узнать сколько раз повторяется каждый элемент.
var rez = lst1.Intersect(lst2); // тут результат 2 и 3
А хотелось бы так
var rez = lst1.Method(lst2)
2 встречается 2 раза 3 встречается 2 раза.

Решение задачи: «Как сравнить два списка»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
 
internal class Program
{
    private static void Main(string[] args)
    {
        var lst1 = new List<string> {"1", "2", "3"};
        var lst2 = new List<string> {"4", "2", "3"};
 
 
        var message = string.Join(Environment.NewLine,
            lst1.GroupJoin(lst2, x => x, y => y, (x, y) => new {number = x, count = y.Count()})
                .Where(n => n.count > 0)
                .Select(n => n.number + " встречается " + (n.count + 1) + " раза"));
 
        Console.WriteLine(message);
        Console.ReadKey(true);
    }
}

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


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

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

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