C# 二维阵列归约

C# 二维阵列归约,c#,multidimensional-array,C#,Multidimensional Array,我有一个二维数组,我需要将第一个对角数转换为零。例如,我需要转换以下内容: [ 1 2 3 ] [ 5 9 5 ] [ 3 2 1 ] 这意味着对角线19 1现在是0 0: [ 0 2 3 ] [ 5 0 5 ] [ 3 2 0 ] 如何在C#中有效地执行此操作?您所做的只是在X和Y相等时将网格中的点设置为零。(1,1)、(2,2)等 int x = 4, y = 5; int[,] array = new int[x,y]; // assume we initialize this wit

我有一个二维数组,我需要将第一个对角数转换为零。例如,我需要转换以下内容:

[ 1 2 3 ]
[ 5 9 5 ]
[ 3 2 1 ]
这意味着对角线
19 1
现在是
0 0

[ 0 2 3 ]
[ 5 0 5 ]
[ 3 2 0 ]

如何在C#中有效地执行此操作?

您所做的只是在X和Y相等时将网格中的点设置为零。(1,1)、(2,2)等

int x = 4, y = 5;
int[,] array = new int[x,y]; // assume we initialize this with some values
for (int i = 0; i < x && i < y; i++ ) {
    array[i,i] = 0;
}
intx=4,y=5;
int[,]数组=新的int[x,y];//假设我们用一些值初始化它
对于(int i=0;i
请检查下一个答案!!。这将工作,但我需要更多的优化手段,通过使用LINQ或任何其他新的东西斯佩特,这是大约优化,因为你可以得到。像LINQ这样的新技术通常只会让事情变得更简单,而不是更快。