Linq-запрос: разность двух коллекций - C#
Формулировка задачи:
Здравствуйте, интересует решение задачи с помощью Linq запроса (если это возможно). Необходимо получить разность двух коллекций
Результат должен быть {2, 2};
Собственно необходимость возникла при разбиении числа на простые множители. Решалось всё замечательно методом Exept, пока до меня не дошло, что 8 =2 * 2 * 2 или 12 =3 * 2 * 2 и методом Exept (3 * 2) и (2) уже не получить.
var a = new int[] {2,2,2,1}; var b = new int[] {2,1};
Решение задачи: «Linq-запрос: разность двух коллекций»
textual
Листинг программы
var combinations = Enumerable.Range(0, 1 << primeFactors.Count). Select(m => (Enumerable.Range(0, primeFactors.Count). Where(i => (m & (1 << i)) != 0).Select(i => primeFactors[i]))). Where(y => y.Count() > 0). Select(x => new { FirstParam = x.Aggregate((a, b) => a * b), SecondParam = x.Count() == primeFactors.Count ? 1 : //primeFactors.Except(x).Aggregate((a, b) => a * b) getDif(primeFactors, x.ToList()).Aggregate((a, b) => a * b) } ).OrderByDescending(pair => pair.FirstParam);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д