我需要将一个数组传递给 C# 中的函数,其中该数组可以是 string[]、int[] 或 double[],并且可以是 1 到多个维度。
推理:
我需要将数组传递给函数来计算其长度,类似于:
public int getLength(array[] someArray, int dimension)
{
if(dimension > 0) //get length of dimension
return someArray.getLength(dimension);
else //get length of entire array
return someArray.Length;
}
问题:
如何传递通用数组?
或者
是否有更好的方法来做到这一点 - 例如将数组转换为列表?
最佳答案
为了您引用的目的,只需传递 Array someArray
- 这应该没问题,并且涵盖任意数量的维度。对于向量(一维、基于 0 的数组),您可以使用泛型 ( GetLength<T>(T[] someArray)
) - 但对于向量 .Length
来说这似乎毫无意义。比较方便。
但是对于未知数量的维度(或非向量单维数组),您被限制为 Array
.
关于c# - 如何在 C# 中传递通用数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4370800/