C# C显示可数元素

C# C显示可数元素,c#,ienumerable,C#,Ienumerable,我有以下代码: static void Main(string[] args) { IEnumerable<IEnumerable<int>> result = GetCombinations(Enumerable.Range(1, 3), 2); } static IEnumerable<IEnumerable<T>> GetCombinations<T>(I

我有以下代码:

static void Main(string[] args)
        {
            IEnumerable<IEnumerable<int>> result = GetCombinations(Enumerable.Range(1, 3), 2);

        }

        static IEnumerable<IEnumerable<T>> GetCombinations<T>(IEnumerable<T> list, int length)
        {
            if (length == 1) return list.Select(t => new T[] { t });

            return GetCombinations(list, length - 1)
                .SelectMany(t => list, (t1, t2) => t1.Concat(new T[] { t2 }));
        }

问题是,如何显示IEnumerable结果中的所有元素只需使用SelectMany将结果展平

IEnumerable<IEnumerable<int>> result = GetCombinations(Enumerable.Range(1, 3), 2);
foreach (var combination in resultList.SelectMany(x => x))
    Console.WriteLine(combination);
如果要多次提交,还应添加.ToLost以提高性能

IEnumerable<IEnumerable<int>> result = GetCombinations(Enumerable.Range(1, 3), 2).ToList();

只需使用SelectMany将结果展平

IEnumerable<IEnumerable<int>> result = GetCombinations(Enumerable.Range(1, 3), 2);
foreach (var combination in resultList.SelectMany(x => x))
    Console.WriteLine(combination);
如果要多次提交,还应添加.ToLost以提高性能

IEnumerable<IEnumerable<int>> result = GetCombinations(Enumerable.Range(1, 3), 2).ToList();

你说的秀是什么意思?像控制台一样的东西;你说的秀是什么意思?像控制台一样的东西;我觉得x=>x在评论之后变成了一个看起来像表情符号的东西:]我觉得x=>x在评论之后变成了一个看起来像表情符号的东西:]