C#,旋转2D数组

我看过关于旋转2D阵列的其他文章,但它并不是我想要的.
我想要这样的东西
int[,] original= new int[4,2]
       {
           {1,2},{5,6},{9,10},{13,14}
       };

我想把它变成这样,
rotatingArray = {{1,5,9,13},{2,6,10,14}};
我希望按列进行一些分析,而不是按行进行分析.

这有效,但有更简单的方法吗?

private static int[,] RotateArray(int[,] myArray)
  {
        int org_rows = myArray.GetLength(0);
        int org_cols = myArray.GetLength(1);

        int[,] myRotate = new int[org_cols,org_rows];

        for (int i = 0; i < org_rows; i++)
        {
            for(int j = 0; j < org_cols; j++)
            {
                myRotate[j,i] = myArray[i,j];
            }
        }

        return myRotate;
    }

有没有一种简单的方法来迭代c#中的列?

解决方法

如果将阵列更改为阵列数组,则会更容易.如果你把它改成int [] [],我发现了这个:
int[][] original = new[]
                                   {
                                       new int[] {1,new int[] {5,new int[] {9,new int[] {13,14}
                                   };

和旋转方法:

private static int[][] Rotate(int[][] input)
{
    int length = input[0].Length;
    int[][] retVal = new int[length][];
    for(int x = 0; x < length; x++)
    {
        retVal[x] = input.Select(p => p[x]).ToArray();
    }
    return retVal;
}

相关文章

项目中经常遇到CSV文件的读写需求,其中的难点主要是CSV文件...
简介 本文的初衷是希望帮助那些有其它平台视觉算法开发经验的...
这篇文章主要简单记录一下C#项目的dll文件管理方法,以便后期...
在C#中的使用JSON序列化及反序列化时,推荐使用Json.NET——...
事件总线是对发布-订阅模式的一种实现,是一种集中式事件处理...
通用翻译API的HTTPS 地址为https://fanyi-api.baidu.com/api...