C#小白遇困惑,求大佬指点

如何将一个这样的一个未知的相等长度的二维数组 string[,] num = new string[row,colum];

转变为row个一维数组string[] nums = new string[colum];

 

举例 string[,] player = {{"姚明","科比布莱恩"},{"易建联","詹姆斯"},{"乔丹","哈登"}};

string[] player1 = {"姚明","科比布莱恩"};string[] player1 = {"易建联","詹姆斯"};string[] player1 = {"乔丹","哈登"};

求大佬指点一下易懂的方法,或者可不可以这样操作,一直困在这里了。

可以使用二维链表存储从二维数组中分出来的一维数组。 

 

using System;
using System.Collections.Generic;
namespace C_Text {

    class MyDate {

        private static void Main() {
            int row = 0;
            int column = 0;

            string[,] num = new string[,]  { { "姚明","科比布莱恩"},{ "易建联","詹姆斯"},{ "乔丹","哈登"} };

            List<List<string>> strngs = new List<List<string>>();   // 双重链表,存储字符串数组
            row = num.GetLength(0);     // 获得行数
            column = num.GetLength(1);  // 获得列数


            for (int i = 0; i < row; i++) { 
                List<string> str = new List<string>();      // 定义一维链表

                for (int j = 0; j < column; j++) {
                    str.Add(num.GetValue(i, j).ToString()); // 数据插入一维链表中
                }

                strngs.Add(str);    // 一维链表插入二维链表中
            }


            foreach (List<string> item in strngs) {

                foreach (string str in item) {
                    // 可以通过这种方式获得其中的值
                    Console.Write(str + ", ");

                }

                Console.WriteLine("\n"); // 换行
            }


            Console.ReadLine();

        }

    }



}

 

 

如果有帮助,点个采纳吧! 

 

你用list去定义未知长度的集合

你这个转换有问题啊,一维数组string存不了{"姚明","科比布莱恩"}数组。。。

除非数组转为字符串。。或者就是按照顺序存储

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632