Я надеюсь что есть решение попрощеда просто
Если совпадает с перебором циклом из списка
ТО
да
Если нет ))
то нет
и так по циклу
Учи логику
Но увы данный метод работает только с цифрами. И берёт значения не из переменной
IZennoList lines = project.Lists["List"]; // из списка
//string[] lines = project.Variables["Var"].Value.Split(new[] {"\r\n"}, StringSplitOptions.RemoveEmptyEntries); // из переменной
var result = lines
.GroupBy(g => g) // группируем элементы
.OrderByDescending(g => g.Count()) // сортируем элементы по убыванию (если сортировать не нужно, то строку можно удалить)
.Select(g => string.Format("{0} - {1} шт.", g.Key, g.Count())); // берем элементы группы и их количество
return string.Join("\r\n", result);
Благодарю. Правда ещё не проверял. Но уверен что всё супер работать будет!C#:IZennoList lines = project.Lists["List"]; // из списка //string[] lines = project.Variables["Var"].Value.Split(new[] {"\r\n"}, StringSplitOptions.RemoveEmptyEntries); // из переменной var result = lines .GroupBy(g => g) // группируем элементы .OrderByDescending(g => g.Count()) // сортируем элементы по убыванию (если сортировать не нужно, то строку можно удалить) .Select(g => string.Format("{0} - {1} шт.", g.Key, g.Count())); // берем элементы группы и их количество return string.Join("\r\n", result);
код рабочий, спасибо, но как эти значения записать в таблицу или лист разбивкой "Слово" | "Количество" ?C#:IZennoList lines = project.Lists["List"]; // из списка //string[] lines = project.Variables["Var"].Value.Split(new[] {"\r\n"}, StringSplitOptions.RemoveEmptyEntries); // из переменной var result = lines .GroupBy(g => g) // группируем элементы .OrderByDescending(g => g.Count()) // сортируем элементы по убыванию (если сортировать не нужно, то строку можно удалить) .Select(g => string.Format("{0} - {1} шт.", g.Key, g.Count())); // берем элементы группы и их количество return string.Join("\r\n", result);



