在 C# 中调整矩阵大小
Resize matrix in c#
我正在尝试遵循 How to resize multidimensional (2D) array in C#?
的建议
但是,他们没有解释调用他们在那里解释的解决方案的语法。
假设我有这个功能,
void ResizeArray<T>(ref T[,] original, int newCoNum, int newRoNum)
{
var newArray = new T[newCoNum, newRoNum];
int columnCount = original.GetLength(1);
int columnCount2 = newRoNum;
int columns = original.GetUpperBound(0);
for (int co = 0; co <= columns; co++)
Array.Copy(original, co * columnCount, newArray, co * columnCount2, columnCount);
original = newArray;
}
我想更改双精度数组的大小 [] myMatrix,
那个函数怎么调用,我一直在尝试,
ResizeArray(myMatrix, 3,3)
但我总是出错,我不明白。
错误说:
Error CS0411: The type arguments for method 'Program.ResizeArray(ref T[,], int, int)' cannot be inferred from the usage. Try specifying the type arguments explicitly. (CS0411)
如果我 google 这个错误,我不会得到这个特定问题的任何答案。因此,我需要问你。这就是我能提供的所有信息,真的没有别的了。我有一个 2x2 矩阵,我需要将它的大小调整为 nxn,并改变 n。我找到的解决方案是我粘贴的那个,我得到的错误也被粘贴了。
希望有人能提供帮助。
此致
您必须指定 T
是什么。假设 myMatrix
包含 double
类型的元素,您需要
ResizeArray<double>(myMatrix, 3, 3)
我正在尝试遵循 How to resize multidimensional (2D) array in C#?
的建议但是,他们没有解释调用他们在那里解释的解决方案的语法。
假设我有这个功能,
void ResizeArray<T>(ref T[,] original, int newCoNum, int newRoNum)
{
var newArray = new T[newCoNum, newRoNum];
int columnCount = original.GetLength(1);
int columnCount2 = newRoNum;
int columns = original.GetUpperBound(0);
for (int co = 0; co <= columns; co++)
Array.Copy(original, co * columnCount, newArray, co * columnCount2, columnCount);
original = newArray;
}
我想更改双精度数组的大小 [] myMatrix,
那个函数怎么调用,我一直在尝试,
ResizeArray(myMatrix, 3,3)
但我总是出错,我不明白。
错误说:
Error CS0411: The type arguments for method 'Program.ResizeArray(ref T[,], int, int)' cannot be inferred from the usage. Try specifying the type arguments explicitly. (CS0411)
如果我 google 这个错误,我不会得到这个特定问题的任何答案。因此,我需要问你。这就是我能提供的所有信息,真的没有别的了。我有一个 2x2 矩阵,我需要将它的大小调整为 nxn,并改变 n。我找到的解决方案是我粘贴的那个,我得到的错误也被粘贴了。
希望有人能提供帮助。 此致
您必须指定 T
是什么。假设 myMatrix
包含 double
类型的元素,您需要
ResizeArray<double>(myMatrix, 3, 3)