//分别使用静态初始化和动态初始化方式定义一个3*4的二维整形数组,
//并使用foreach语句遍历输出每个数组元素的值
一:静态数组
//定义与初始化
//规则二维数组
int[,] arr = new int[3, 4] { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };
//输出
//方法一:用for循环
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
Console.Write(Convert.ToString(arr[i, j]) + " ");
}
Console.WriteLine();
}
// 方法二:用foreach遍历
// for(int i= 0; i< arr.Length; i++){
foreach (int j in arr)
{
Console.Write("{0} ",j);
}
// }
Console.WriteLine();
//不规则二维数组
int[][] arr2 = new int[3][]; //表示含有三个一维数组的数组
arr2[0] = new int[5] { 1, 2, 3, 4, 5 };
arr2[1] = new int[2] { 0, 1 };
arr2[2] = new int[0] { };
//输出方法一:用for循环,这是错误的输出方法,会产生数组越界
// Console.WriteLine("输出方法一:");
// for (int i = 0; i < 2; i++)
// {
// for (int j = 0; j < 5; j++)
// {
// Console.Write(Convert.ToString(arr2[i][j] + " "));
// }
// Console.WriteLine();
// }
Console.WriteLine();
//输出方法二:用foreach方法输出
Console.WriteLine("输出方法二:");
for (int ii = 0; ii < arr2.Length; ++ii)// arr.Length是 3可以看出arr是包含三个一维数组的数组
{
foreach (int j in arr2[ii])
{
Console.Write(j + " ");
}
Console.WriteLine();
}
二:动态数组
//动态数组
ArrayList list = new ArrayList();
list.Add(1);
list.Add(2);
list.Add(3);
list.Add(4);
list.Add(5);
list.Add(6);
list.Add(7);
list.Add(8);
list.Add(9);
foreach(int i in list)
{
Console.Write(i + " ");
}
Console.WriteLine();