У меня есть List<T>
и я хочу, чтобы получить все возможные подсписки, например:Получить Перечислимый всех суб списки существующего списка
[A, B, C, D, E] => [[A], [A, B], [A, B, C], [A, B, C, D], [A, B, C, D, E]]
Есть простой способ сделать получить эту новые перечислима с помощью LINQ к объектам?
EDIT 1: Обратите внимание, что я только хочу «списки префиксов», а не все возможные перестановки (т.е. показан пример результата уже завершена).
EDIT 2: Обратите внимание, что я также хочу поддерживать порядок элементов.
EDIT 3: Есть ли способ, чтобы получить перечислимые в O (N) вместо O (N²), т.е. путем перебора источника только один раз, а не несколько раз и возвращения своего рода зрения на данные вместо нового списка каждый раз?
Существует хороший блог о [перестановок Эрик Липперт] (https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source= Интернет & CD = 1 & хам = RJA & uact = 8 & веды = 0ahUKEwiS9afz1erLAhUDtRoKHS0KC7gQFgggMAA & URL = HTTP% 3A% 2F% 2Fericlippert.com% 2F2013% 2F04% 2F15% 2Fproducing-перестановки-часть-один% 2F & USG = AFQjCNELiYNC3091lbttaXec9OFgUqEAAw) –
Мой вопрос не кажется, на перестановках, например, меня не интересует '[B, A]'? –
@ Ювал Изжаков: пожалуйста, заново откройте мой вопрос, это не дубликат, спасибо. –