gpt4 book ai didi

c# - 在 C# 中添加矩阵?

转载 作者:行者123 更新时间:2023-11-30 22:50:27 25 4
gpt4 key购买 nike

我正在尝试使用一些简单的 for 循环在 C# 中将两个矩阵相加。我将结果存储在数据 GridView 中。但是,最后一个单元格似乎没有添加。我已经看了这段代码一段时间了,但似乎无法弄明白。我做错了什么吗?

    // Adds two matrices together using arrays.
private void menuItemAdd_Click(object sender, EventArgs e)
{
// Create two 2-D arrays
int[,] matrixOne = new int[dgvMatrixOne.RowCount, dgvMatrixOne.ColumnCount];
int[,] matrixTwo = new int[dgvMatrixTwo.RowCount, dgvMatrixTwo.ColumnCount];

// The rows of the total matrix match the rows of the first matrix.
dgvMatrixTotal.RowCount = dgvMatrixOne.RowCount;

// The columns of the total matrix match the columns of the first matrix.
dgvMatrixTotal.ColumnCount = dgvMatrixOne.ColumnCount;

// Fill matrix one with the data in the data grid matrix one.
for (int i = 0; i < dgvMatrixOne.RowCount; i++)
{
for (int j = 0; j < dgvMatrixOne.ColumnCount; j++)
{
matrixOne[i, j] = Convert.ToInt32(dgvMatrixOne[i, j].Value);
}
}

// Fill matrix two with the data in the data grid matrix two.
for (int i = 0; i < dgvMatrixTwo.RowCount; i++)
{
for (int j = 0; j < dgvMatrixTwo.ColumnCount; j++)
{
matrixTwo[i, j] = Convert.ToInt32(dgvMatrixTwo[i, j].Value);
}
}

// Set the total data grid to matrix one + matrix two.
for (int i = 0; i < dgvMatrixOne.RowCount; i++)
{
for (int j = 0; j < dgvMatrixOne.ColumnCount; j++)
{
dgvMatrixTotal[i, j].Value = matrixOne[i, j] + matrixTwo[i, j];
}
}
}

最佳答案

您确定您的矩阵具有完全相同的大小吗,这两行无论如何都很奇怪,因为您从一个矩阵中获取行数,而从另一个矩阵中获取列数。

dgvMatrixTotal.RowCount = dgvMatrixOne.RowCount;
dgvMatrixTotal.ColumnCount = dgvMatrixTwo.ColumnCount;

我认为您的错误是 MSDN 声明 Item 属性(用于使用 [] 运算符进行类似数组的访问)是:

public DataGridViewCell this [
int columnIndex,
int rowIndex
] { get; set; }

但您总是以倒置顺序(行前列)使用它。

关于c# - 在 C# 中添加矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/576175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com