一、一维数组
- 概念:变量的集合
- 定义数组 ---- 共五种方式
//变量类型[] 数组名;这样只是申明了一个数组,并没有开房间
//变量类型 : 可以是任意变量类型,例如 string int char
int[] arr1;
// 变量类型[] 数组名 = new 变量类型[数组长度]
int[] arr2 = new int[5];//两个变量类型必须一致,这种定义相当于已经开了五个房间,默认是5个零
// 变量类型[] 数组名 = new 变量类型[数组长度]{内容1,内容2,......}
int[] arr3 = new int[5] { 1, 2, 3, 4, 5 };//必须和长度相等
// 变量类型[] 数组名 = new 变量类型[]{内容1,内容2,......}
int[] arr4 = new int[] { 1, 2, 3 };//可以不定义长度,直接由定义的内容长度决定数组的长度
//变量类型[] 数组名 = {1,2,3}
int[] arr5 = { };//也可以给大括号里边写内容
bool[] arr6 = new bool[2] { true, false };
3. 数组的使用
int[] array = new int[] { 1, 2, 3, 4, 5 };
//1.获取数组的长度
Console.WriteLine(array.Length);
//2.获取数组的元素
Console.WriteLine(array[1]);
//3.修改数组中的元素
array[1] = 45;
//4.遍历数组,用循环 快速获取数组中的每一个元素
for (int i = 0; i< array.Length; i++)
{
Console.WriteLine(array[i]);
}
//5.增加数组的元素
//数组初始化后,不能直接添加或者删除元素,需要声明新的数组来增加或者删除
int[] array2 = new int[6];
for (int i = 0; i < array.Length; i++)
{
array2[i] = array[i];
}
array = array2;
array[5] = 9999;
//6.删除数组中的元素
//同理,需要声明新数组来删除
int[] array3 = new int[5];
for (int i = 0; i < array3.Length; i++)
{
array2[i] = array[i];
}
array = array3;
//7.查找数组中的元素
//查找哪一个元素是3,只有通过遍历才能查找
int a = 3;
for (int i = 0; i < array.Length; i++)
{
if (array[i]==3)
{
Console.WriteLine("和a相等的元素在{0}", i);
}
}
二、二位数组
using System;
namespace 二维数组
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("二维数组");
#region 知识点一 概念
//有两个下标,行 列
#endregion
#region 知识点二 申明一个二位数组
int[,] arr;
int[,] arr1 = new int[3, 3];
int[,] arr2 = new int[3, 3] { { 1, 2, 3 },
{ 1, 2, 3 },
{ 1, 2, 3 } };
int[,] arr3 = new int[,] { { 1, 2, 3 },
{ 1, 2, 3 },
{ 1, 2, 3 } };
int[,] arr4 = { { 1, 2, 3 },
{ 1, 2, 3 },
{ 1, 2, 3 } };
#endregion
#region 知识点三 二维数组的使用
int[,] array = new int[,]
{
{1,2,3 },
{4,5,6 }
};
//1.长度,需要分别获取长和列
Console.WriteLine(array.GetLength(0));//行
Console.WriteLine(array.GetLength(1));//列
//2.获取二维数组中的元素
Console.WriteLine(array[1, 2]);
//3.修改数组的元素
array[0, 0] = 99;
//4.遍历二维数组的元素,两个for循环嵌套
for (int i = 0; i < array.GetLength(0); i++)
{
for (int j = 0; j < array.GetLength(1); j++)
{
Console.WriteLine(array[i, j]);
}
}
Console.WriteLine("**************");
//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];
}
}
array2[2, 0] = 7;
array2[2, 1] = 8;
array2[2, 2] = 9;
array = array2;
for (int i = 0; i < array.GetLength(0); i++)
{
for (int j = 0; j < array.GetLength(1); j++)
{
Console.WriteLine(array[i, j]);
}
}
#endregion
}
}
}