系统中的聚合和ToArray函数.数组不工作

本文关键字:函数 数组 工作 ToArray 系统 | 更新日期: 2023-09-27 18:03:17

我有两个错误:

"系统。数组'没有包含'聚合'的定义,没有扩展方法"Aggregate"接受类型的第一个参数的系统。Array'可以找到(您是否缺少using指令或汇编参考?)

'System.Collections.Generic.IEnumerable<object[]>'不包含一个'ToArray'的定义,不接受'ToArray'扩展方法类型的第一个参数'System.Collections.Generic.IEnumerable<object[]>'无法找到(您是否缺少using指令或汇编引用?)

下面是我的代码:
    /*
     * Get all the possible permutations
     */
    public static IEnumerable<object[]> CartesianProduct(params object[][] inputs)
    {
        //ERROR: Function Aggregate is not recognized
        return inputs.Aggregate(
            (IEnumerable<object[]>)new object[][] { new object[0] },
            (soFar, input) =>
                from prevProductItem in soFar
                from item in input
                select prevProductItem.Concat(new object[] { item }).ToArray());
    }
    public void test()
    {
            //Get all the posible permutations between parents values.
            var cartesianProduct = CartesianProduct(parentsValues);
            object[][] producto = cartesianProduct.ToArray();
            //ERROR: Function ToArray is not recognized
    }

系统中的聚合和ToArray函数.数组不工作

你错过了

using System.Linq;

放在文件的顶部。如果没有这个,c#编译器就不知道在哪里可以找到你想要使用的LINQ扩展。

在。cs文件的顶部添加using System.Linq;