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