Здравствуйте, Sinix, Вы писали:
S>Решение в лоб:
S>S> static void Main(string[] args)
S> {
S> string[] ss = new string[] { "a", "b", "c" };
S> int N = 3;
S> var result = ss.AsEnumerable();
S> for (int i = 1; i < N; i++)
S> {
S> result = result.SelectMany(s => ss.Select(s1 => s + s1));
S> }
S> foreach (var item in result)
S> {
S> Console.WriteLine(item);
S> }
S> Console.ReadKey();
S> }
S>
S>У Липперта была целая серия статей на связанную тему, вот первая. Я их скорее пролистал, чем прочитал, так что сходу не вспомню есть ли там готовое решение.
Такое решение более-менее очевидно, спасибо. Мне хочется, чтобы не было промежуточных результатов, и чтобы было полностью ленивое решение.