在C#中用一个锯齿状数组合两个双锯齿数组

时间:2014-01-04 10:15:17

标签: c# arrays

我正在做我的项目,我遇到了一个问题,即组合两个锯齿状数组并创建一个。

以下是一个例子: 锯齿状:

double[][] JaggedOne=
{
    new double[] { -5, -2, -1 },
    new double[] { -5, -5, -6 },

};

以下是我的第二个:

double[][] JaggedTwo=
{
    new double[] {1, 2, 3 },
    new double[] { 4, 5, 6 },
};

现在结果我想要这个:

double[][] Result =
{
    {-5,-2,-1},
    {-5,-5,-6},
    {1,2,3},
    {4,5,6},
};

实际上第一个从XML文件和第二个加载,它是我的训练集,第二个是我在机器学习中使用的样本测试。我非常感谢您的回复和提示。

2 个答案:

答案 0 :(得分:8)

它们是锯齿状数组的事实在这里实际上是无关紧要的 - 你真的只有两个你想要连接的数组。这些数组的元素类型本身就是数组类型的事实是无关紧要的。最简单的方法是使用LINQ:

double[][] result = jaggedOne.Concat(jaggedTwo).ToArray();

答案 1 :(得分:0)

还有一个可用的联盟功能。你也可以使用它。喜欢 -

class JaggedArray {

        public static void Main(string[] args)
        {
            double[][] JaggedOne = {
                                        new double[] { -5, -2, -1 },
                                        new double[] { -5, -5, -6 },
                                   };

            double[][] JaggedTwo = {
                                        new double[] {1, 2, -1 },
                                        new double[] { 4, 5, 6 },
                                   };

            double[][] result = JaggedOne.Union(JaggedTwo).ToArray();           

            for (int i = 0; i < result.Length; i++)
            {
                for (int j = 0; j < result[i].Length; j++)
                {
                    Console.Write(result[i][j]);
                }

                Console.WriteLine();
            }            

            Console.ReadKey();
        }
}