【问题标题】:2-Dimensional Array Reduction二维数组缩减
【发布时间】:2009-04-28 16:59:37
【问题描述】:

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

[ 1 2 3 ]
[ 5 9 5 ]
[ 3 2 1 ]

对此,意味着对角线1 9 1 现在是0 0 0

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

如何在 C# 中有效地做到这一点?

【问题讨论】:

  • 请查看下一个答案!!。

标签: c# multidimensional-array


【解决方案1】:

您所做的只是在 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;
}

【讨论】:

  • 这可行,但我需要通过使用 LINQ 或任何其他新事物来进行更优化的方法
  • 彼得,这已经是你能得到的优化了。像 LINQ 这样的新技术通常只会让事情变得更简单,而不是更快。
猜你喜欢
  • 1970-01-01
  • 2016-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-28
  • 1970-01-01
  • 2012-02-04
  • 2017-08-22
相关资源
最近更新 更多