Synchronization of old projects

Part1
This commit is contained in:
2025-09-30 16:46:01 +08:00
parent 116b65164b
commit 4e1548abe2
167 changed files with 8668 additions and 43 deletions
+171
View File
@@ -0,0 +1,171 @@
#region
//二维数组 是使用两个索引来引用的数组。
//它可以看作是一个表格,有行和列。
//可以用来表示矩阵、棋盘等二维数据结构。
//
#endregion
#region
//1.变量类型[,] 变量名;
int[,] arr1;//声明后必须初始化
//2.变量类型[,] 变量名 = new 变量类型[行数, 列数];
int[,] arr2 = new int[2, 3];//声明并初始化,默认值为0
//二维数组的行数和列数必须是常量表达式,不能是变量。
//3.变量类型[,] 变量名 = { {元素1, 元素2}, {元素3, 元素4} };
int[,] arr3 = { { 1, 2 }, { 3, 4 } };//声明并初始化
//4.变量类型[,] 变量名 = new 变量类型[行数, 列数] { {元素1, 元素2}, {元素3, 元素4} };
int[,] arr4 = new int[2, 2] { { 1, 2 },
{ 3, 4 } };//声明并初始化
//5.变量类型[,] 变量名 = new 变量类型[,] { {元素1, 元素2}, {元素3, 元素4} };
int[,] arr5 = new int[,] { { 1, 2 },
{ 3, 4 } };//声明并初始化
#endregion
#region 使
//1.二维数组的长度
Console.WriteLine("二维数组的长度");
int[,] array = new int[,] { { 1, 2, 3 },
{ 4, 5, 6 } };
//二维数组的长度可以分为行数,列数和总元素个数
//获取二维数组的第0维长度(行数)
Console.WriteLine(array.GetLength(0));
//获取二维数组的第1维长度(列数)
Console.WriteLine(array.GetLength(1));
#region clear
Console.ReadKey();
Console.Clear();
#endregion
//2.获取二维数组中的元素
Console.WriteLine("获取二维数组中的元素");
//注意:第一个元素是0行0列,最后一个元素是(行数-1)列(列数-1)
Console.WriteLine(array[0, 0]);//1
Console.WriteLine(array[1, 2]);//6
#region clear
Console.ReadKey();
Console.Clear();
#endregion
//3.修改二维数组中的元素
Console.WriteLine("修改二维数组中的元素");
array[0, 0] = 10;
Console.WriteLine(array[0, 0]);//10
#region clear
Console.ReadKey();
Console.Clear();
#endregion
//4.遍历二维数组
Console.WriteLine("遍历二维数组");
for (int i =0; i < array.GetLength(0); i++)
{
for (int j = 0; j < array.GetLength(1); j++)
{
Console.Write(array[i, j] + "\t");
}
Console.WriteLine();
}
#region clear
Console.ReadKey();
Console.Clear();
#endregion
//5.增加数组的元素
Console.WriteLine("增加数组的元素");
//二维数组的大小是固定的,不能动态增加元素。
//如果需要增加元素,可以创建一个新的二维数组,并将原数组的元素复制到新数组中。
int newRow = array.GetLength(0) + 1;
int newCol = array.GetLength(1);
int[,] newArray = new int[newRow, newCol];
for (int i = 0; i < array.GetLength(0); i++)
{
for (int j = 0; j < array.GetLength(1); j++)
{
newArray[i, j] = array[i, j];
}
}
array = newArray;
array[2, 0] = 7;
array[2, 1] = 8;
array[2, 2] = 9;
for (int i = 0; i < array.GetLength(0); i++)
{
for (int j = 0; j < array.GetLength(1); j++)
{
Console.Write(array[i, j] + "\t");
}
Console.WriteLine();
}
#region clear
Console.ReadKey();
Console.Clear();
#endregion
//6.删除数组的元素
Console.WriteLine("删除数组的元素");
//二维数组的大小是固定的,不能动态删除元素。
//如果需要删除元素,可以创建一个新的二维数组,并将原数组的元素复制到新数组中,跳过要删除的元素。
newRow = array.GetLength(0)-1;
newCol = array.GetLength(1);
newArray = new int[newRow, newCol];
Console.WriteLine($"原数组行数{array.GetLength(0)}\t原数组列数{array.GetLength(1)}");
Console.WriteLine($"新组行数{newArray.GetLength(0)}\t新组列数{newArray.GetLength(1)}");
Console.WriteLine("打印原数组:");
for (int i = 0; i < array.GetLength(0); i++)
{
for (int j = 0; j < array.GetLength(1); j++)
{
Console.Write(array[i, j] + "\t");
}
Console.WriteLine();
}
//假设删除第2行
for (int i = 0; i < newArray.GetLength(0); i++)
{
for (int j = 0; j < newArray.GetLength(1); j++)
{
newArray[i, j] = array[i, j];
}
}
array = newArray;//引用新数组
Console.WriteLine("打印新数组:");
for (int i = 0; i < array.GetLength(0); i++)
{
for (int j = 0; j < array.GetLength(1); j++)
{
Console.Write(array[i, j] + "\t");
}
Console.WriteLine();
}
#region clear
Console.ReadKey();
Console.Clear();
#endregion
//7.查找数组中的元素
Console.WriteLine("查找数组中的元素");
//如果要在数组中查找某个元素,可以使用循环遍历数组,逐个比较元素值。
//找到后可以记录下标或者直接返回元素。
for (int i = 0; i < array.GetLength(0); i++)
{
for (int j = 0; j < array.GetLength(1); j++)
{
if (array[i, j] == 5)
{
Console.WriteLine($"找到了元素5,位置在:{i}行{j}列");
}
}
}
#endregion