Как я могу преобразовать var в list & lt;string>?
- Эй! Мне действительно нужна помощь.
У меня есть функция для генерации комбинаций. Вот он
public static IEnumerable<IEnumerable<T>> GetKCombs<T>(IEnumerable<T> list, int length) where T : IComparable { if (length == 1) return list.Select(t => new T[] { t }); return GetKCombs(list, length - 1) .SelectMany(t => list.Where(o => o.CompareTo(t.Last()) > 0), (t1, t2) => t1.Concat(new T[] { t2 })); }
использование:
var result = GetKCombs(new int[] {1,2,3,4,5},3);
Проблема заключается в следующем :Я хочу преобразовать var в List & lt;string>, и.ToList () не работает должным образом.
Пожалуйста помочь.
Что я уже пробовал:
Ну, я уже пробовал использовать метод.Список():
результат.Список()
но в нем есть что-то странное.
Во-вторых, я написал следующее:
List & lt;string & gt; vectors = новый список & lt;string>();
foreach (var res в результате)
векторные иллюстрации.Добавить (рез.Метод toString());
но это тоже не сработало должным образом.
sankholia
Я не уверен, чего вы пытаетесь достичь. Если вы можете сформулировать свою проблему, вам будет легче ответить или предложить альтернативное решение.
Ralf Meier
Извините - я не понимаю вашей цели.
Попробуйте объяснить, чего вы хотите добиться на некоторых примерах ...
Member 12153456
ладно, я постараюсь внести ясность.
у нас есть, например, набор {1,2,3,4,5}, и я хочу сгенерировать все комбинации длины 3 с помощью функции GetKComb следующим образом:
var result = GetKComb(new int [] {1,2,3,4,5}, 3)
результат состоит из чего-то не пойму чего, но в результате получается 10 объектов. Я хочу получить из результирующих строк длиной 3 в список "строка", но не знаю как.
Member 12153456
и я хочу, чтобы список "строка" состоял из 10 строк, которые "{1,2,3}", "{1,2,4}" и т. д.