群友反馈的一个问题:
运行报错:
这个主要是数组定义的有问题,二维数组初始化:如下这样
string[,] aaa = new string[10, 10];
其次得确保data在截取Substring之前不为null,如下图所示
这里介绍C#二维数组初始化,C#数组并不是动态的,你必须自己来把他变成动态结构,除非你使用其他类。C#二维数组初始化,有两种方法。
C#多维数组:
(1)数组的声明:
1.
2. int[] a1; //整数类型的一维数组
3. int[,] a2; //整数类型的二维数组
4.
(2)C#二维数组初始化和声明
1.
2. int[,] a2=new int[2,3];
3. int[,] a2=new int[,]{{1,2,3},{4,5,6}};
4.
(3)三维数组不做讨论。
C#数组并不是动态的,你必须自己来把他变成动态结构,除非你使用其他类。C#二维数组初始化,有两种方法:
方法1:你可以假设一个初始长度,在对数组添加元素的时候,你都需要对数组做边界检查,如果数组尺寸不够了,你需要创建一个新的数组,然后复制原来的数组到新的数组。
方法2:初始化***维长度为0,在每次插入新的原始的时候,都复制一个新的数组,使它的长度等于原来数组长度+1,这里假定第二维是不变的
如:打印一个[4,6]长度的二维数组:
示例1:
using System;
class Matrix
{
static void Main()
{
int[,] arr=new int[4,6];
for(int i=0;i<4;i++)
{
for(int j=0;j<6;j++)
{
arr[i,j]=(i+1)*10+j+1;
}
}
for(int i=0;i<4;i++)
{
for(int j=0;j<6;j++)
{
Console.Write("{0} ",arr[i,j]);
}
Console.WriteLine();
}
}
}
示例2:
string[,] aaa = new string[10, 10];
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
aaa[i, j] = "aaa";
MessageBox.Show(aaa[i, j]);
}
}