C#,旋转2D数组

C#,旋转2D数组,第1张

概述我看过关于旋转2D阵列的其他文章,但它并不是我想要的. 我想要这样的东西 int[,] original= new int[4,2] { {1,2}, {5,6}, {9,10}, {13,14} }; 我想把它变成这样,     rotatingArray = {{1,5,9,13 我看过关于旋转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;}
总结

以上是内存溢出为你收集整理的C#,旋转2D数组全部内容,希望文章能够帮你解决C#,旋转2D数组所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1246051.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存