黑马程序员技术交流社区

标题: 一维字符数组和二维字符数组问题 [打印本页]

作者: 菜鸟励志要逆袭    时间: 2013-6-26 11:41
标题: 一维字符数组和二维字符数组问题
本帖最后由 菜鸟励志要逆袭 于 2013-6-26 15:40 编辑

这本是我在本论坛看到的一个帖子的内容。本意是把题中str字符串数组链接输出。我想把str字符串数组赋予一个字符二维数组然后依次输出。遇到了一下问题。望大神指教:
        static void Main(string[] args)
        {
            string[] str = new string[]{ "abc", "dea", "fgh" };
            char[][] myChar = new char[3][];
            char[] input = new char[3];
               for (int i = 0; i < str.Length; i++)//用一个字符数组接收一个字符串
                {
                    input = str.ToCharArray();
                    for (int n = 0; n < input.Length; n++)
                    {
                        myChar[n] = input[n];//我想把一维字符数组赋给一个二维数组的一行。#这里出错
                    }
                }
            for (int j = 0; j < str.Length; j++) {
                for (int k = 0; k < myChar[j][k] ;k++)
                    Console.WriteLine(myChar[j][k]);
            }
            Console.ReadKey();
        }
望各位大神指教一个闲的蛋疼的人!

作者: 万大述    时间: 2013-6-26 13:30
关键在于得到二维数组的行标和列标,这样才能实例化一个合适大小的二维数组。参考代码如下:
            int maxStr = 0;
            string[] str = new string[] { "abc","dga444","fgh" };
            for (int i = 0; i < str.Length; i++) //得到元素长度的最大值,即二维数组的列标。
            {
                if (str[i].Length > maxStr)
                {
                    maxStr = str[i].Length;
                }
            }
            char[,] myChar = new char[str.Length,maxStr]; //这是关键,得到一个合适大小的二维数组
            char[] input = new char[3];
            for (int i = 0; i < str.Length; i++)//用字符串个数做行标的极限值
            {
                input = str[i].ToCharArray();
                for (int n = 0; n < input.Length; n++)
                {
                    myChar[i, n] = input[n];//这里出的问题和myChar[i,n]的实例化无列标有关
                }
            }
            for (int j = 0; j < str.Length; j++) //输出
            {
                for (int k = 0; k < str[j].Length; k++)
                    Console.Write(myChar[j,k]);
            }
            Console.ReadKey();
作者: 菜鸟励志要逆袭    时间: 2013-6-26 15:30
谢谢。受教!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2