0

配列リストがあります

private ArrayList rps = new ArrayList();

現在、以下のコードは 2005 年には正常に動作していますが、Visual Studio 2008 では動作していません。

int min = Convert.ToInt32(rps.Item(0));
int max = Convert.ToInt32(rps.Item(rps.Count - 1));

エラー: System.Collections.ArrayList に 'Item' の定義が含まれておらず、タイプ 'System.Collections.ArrayList' の最初の引数を受け入れる拡張メソッド 'Item' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか? ?`

4

3 に答える 3

3

インデクサーを使用します。

int min = Convert.ToInt32(rps[0]);

List<T>の代わりに使用することも検討してArrayListください。

于 2012-07-24T20:49:27.010 に答える
3

そのコードは VS 2005 でも機能しません。同様のことが VB では機能する可能性がありますが、C# では機能しません。C# コードは次のようになります。

int min = Convert.ToInt32(rps[0]);
int max = Convert.ToInt32(rps.Item[rps.Count - 1]);

ただし、代わりに などの汎用コレクションの使用を開始することをお勧めしますList<T>

于 2012-07-24T20:50:08.510 に答える
2

構文エラーがあります:

rps.Item(0)

次のようにする必要があります。

rps[0]

注-実際に使用するべきではありません-代わりに使用する必要ArrayListがあるジェネリックよりも前のものです。

于 2012-07-24T20:49:54.327 に答える