using System;
namespace lesson3_二维数组
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(“二维数组”);
#region 基本概念
//二位数组 是使用两个下标(索引)来确定元素的数组
//两个下标可以理解成 行标 和列标
//比如矩阵
//1 2 3
//4 5 6
//可以用二维数组 int[2,3] 表示
//好比 两行 三列的数据集合
#endregion
#region 二维数组的申明
//变量类型[ ,]二维数组变量名;
int[,] arr;
//变量类型[,]二维数组变量名= new 变量类型[行,列];
int[,] arr2 = new int[3,3];
//变量类型[,]二维数组变量名= new 变量类型[行,列]{{0行内容1,0行内容2,0行内容3……},{1行内容1,1行内容2,1行内容3……}};
int[,]arr3=new int[2, 2] { { 1, 2 }, { 1, 2 } };
//变量类型[,]二维数组变量名= new 变量类型[,]{{0行内容1,0行内容2,0行内容3……},{1行内容1,1行内容2,1行内容3……}};
int[,] arr4 = new int[, ] { { 1, 2 }, { 1, 2 } };
//变量类型[,]二维数组变量名={{0行内容1,0行内容2,0行内容3……},{1行内容1,1行内容2,1行内容3……}};
int[,] arr5 ={ { 1, 2 }, { 1, 2 } };
#endregion
#region 二维数组的使用
//1.二维数组的长度
int[,] array = new int[,] { { 1, 2 ,3}, { 4, 5,6 } };
//我们要获取 行和列分别是多长
//得到多少行
Console.WriteLine(array.GetLength(0));
//得到多少列
Console.WriteLine(array.GetLength(1));
//2.获取二维数组中的元素
//注意:第一个元素的索引是0 最后一个元素的索引 肯定是长度-1
Console.WriteLine(array[0, 1]);
//3.修改二维数组中的元素
array[0, 0] = 99;
Console.WriteLine(array[0, 0]);
//4.遍历二维数组
for (int i = 0; i < array.GetLength(0); i++)
{
for (int j = 0; j < array.GetLength(1); j++)
{
//i 行
//j 列
Console.WriteLine(array[i, j]);
}
}
//5.增加数组的元素
//数组声明初始化之后 就不能在原有的基础上进行 添加或删除了
int[,] array2 = new int[3, 3];
for (int i = 0; i < array.GetLength(0); i++)
{
for (int j = 0; j < array.GetLength(1); j++)
{
array2[i, j] = array[i, j];
}
}
array = array2;
array[2, 0] = 7;
array[2, 1] = 8;
array[2, 2] = 9;
//6.删除数组中的元素
int[,] array3 = new int[2, 2];
for (int i = 0; i < array.GetLength(0); i++)
{
for (int j = 0; j < array.GetLength(1); j++)
{
array2[i, j] = array[i, j];
}
}
array2 = array3;
//7.查找数组中的元素
int a = 3;
for (int i = 0; i < array.Length; i++)
{
for (int j = 0; j < array.GetLength(1); j++)
{
if (a == array[i,j])
{
Console.WriteLine(“和a相等的元素在{0}{1}索引位置”, i,j);
break;
}
}
}
#endregion
//总结
//1.概念 同一变量类型的 行列数据集合
//2.一定要掌握的知识:申明,遍历,增删查改
//3.所有的变量类型都可以申明为 二位数组
//4.游戏中一般用来存储 矩阵,在控制台小游戏中可以用二维数组来 表示地图格子
}
}
}