A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 菜鸟励志要逆袭 于 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();
        }
望各位大神指教一个闲的蛋疼的人!

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

2 个回复

倒序浏览
关键在于得到二维数组的行标和列标,这样才能实例化一个合适大小的二维数组。参考代码如下:
            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();

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报 1 0
谢谢。受教!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马