using System;
class Program
{
// 对比两个二维整数数组是否完全相同的函数
static bool AreTwoDimensionalArraysEqual(int[,] array1, int[,] array2)
{
// 首先比较两个数组的维度是否相同
if (array1.GetLength(0)!= array2.GetLength(0) || array1.GetLength(1)!= array2.GetLength(1))
{
return false;
}
// 遍历两个数组的每个元素进行比较
for (int i = 0; i < array1.GetLength(0); i++)
{
for (int j = 0; j < array1.GetLength(1); j++)
{
if (array1[i, j]!= array2[i, j])
{
return false;
}
}
}
return true;
}
// 复制二维整数数组的函数,先根据sourceArray调整_ShapeRenderData结构,再进行覆盖
static void Copy(int[,] sourceArray, int[,] _ShapeRenderData)
{
// 获取sourceArray的行数和列数
int sourceRows = sourceArray.GetLength(0);
int sourceCols = sourceArray.GetLength(1);
// 创建一个新的二维数组,维度与sourceArray相同
int[,] newShapeRenderData = new int[sourceRows, sourceCols];
// 直接用sourceArray覆盖新数组的每个元素
for (int i = 0; i < sourceArray.GetLength(0); i++)
{
for (int j = 0; j < sourceArray.GetLength(1); j++)
{
newShapeRenderData[i, j] = sourceArray[i, j];
}
}
// 将新数组赋值给_ShapeRenderData,实现结构调整与元素覆盖
_ShapeRenderData = newShapeRenderData;
}
static void Main()
{
int[,] sourceArray = { { 1, 2 }, { 3, 4 } };
int[,] _ShapeRenderData = new int[1, 1]; // 初始可以是任意维度,这里简单示例为1行1列
Copy(sourceArray, _ShapeRenderData);
bool result = AreTwoDimensionalArraysEqual(sourceArray, _ShapeRenderData);
Console.WriteLine($"复制后两个数组是否相同: {result}");
}
}