2010-12-06 12 views
2

Iは、配列[]は、文字列[]、[] int型、または二重であってもよく、複数の次元に1とすることができるC#で関数に配列を渡す必要があります。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

の任意の数を保持し、ArrayListを使用することができます。 Arrayが実際に存在しているかどうかはわかりませんでした。ありがとう。 –

+0

@Todd - ベクトルの基底クラスです。つまり、 'int []:Array'です。 –

0

あなたはList様の性質をしたい場合は、これは私が必要としたものであるobject

関連する問題