2010-12-06 41 views
2

我需要将数组传递给C#中的一个函数,其中数组可能是一个字符串[],int []或double [],并且可能是1到多个维度。如何在C#中传递一个通用数组?

推理:

我需要到一个数组传递给函数来计算它的长度,类似于:

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; 
} 

问:

我怎样才能通过一个泛型数组?

或者

是否有更好的方法来做到这一点 - 说数组转换到一个列表?

回答

4

为了您引用的目的,只需通过Array someArray - 这应该很好,并涵盖任意数量的维度。对于矢量(基于1维,基于0的数组),可以使用泛型(GetLength<T>(T[] someArray)) - 但当向量.Length更方便时,这似乎毫无意义。

但是,对于未知数量的维度(或对于非矢量单维数组),您仅限于Array

+0

任意数字。这就是我需要。我不知道Array真的存在。谢谢。 – 2010-12-06 20:54:22

0

如果你想List般的性能,也可以使用ArrayList,其持有的object小号