4

私はリストを持っています:

List<string> theList = new List<string>;

リストにはいくつかの要素があります。そして今、インデックスでアイテムを取得したいと思います。たとえば、要素番号 4 を取得したいのですが、どうすればよいですか?

4

7 に答える 7

10

インデクサーを使うだけ

string item = theList[3];

C# のインデックスは 0 ベースであることに注意してください。したがって、リストの 4 番目の要素が必要な場合は、インデックス 3 を使用する必要があります。5 番目の要素が必要な場合は、インデックス 4 を使用します。意図した質問からは不明です

インデクサーは、.Net コレクション型の一般的な機能です。リストの場合は一般にインデックス ベースであり、マップの場合はキー ベースです。問題のタイプのドキュメントには、どのタイプが利用可能かが記載されています。ただし、インデクサー メンバーは、名前が付けられたプロパティとして一覧表示されます。Item

http://msdn.microsoft.com/en-us/library/0ebtbkkc.aspx

于 2013-03-08T17:16:54.367 に答える
4

4 番目のアイテムを取得するには、インデクサーを使用できます。

string item = theList[3];

メソッドを使用したい場合は、ElementAtまたは ( ElementAtOrDefault)を使用できます。

string item = theList.ElementAt(3);
于 2013-03-08T17:16:36.910 に答える
1

を使用しIndexer て、選択したアイテムを取得できますindex

string item = theList[3];
于 2013-03-08T17:16:57.363 に答える
1

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

string the4th = theList[3];

インデックスは常にゼロから始まるため、リストに含まれる項目が 3 つ以下の場合は例外がスローされることに注意してください。次に使用したい場合がありますEnumerable.ElementAtOrDefault

string the4th = theList.ElementAtOrDefault(3);
if(the4th != null)
{
    // ...
}

ElementAtOrDefaultindex < list.Countifおよびdefault(T)ifは、指定されたインデックスの要素を返しますindex >= theList.Count。したがって、参照型( などString)の場合は戻りnull、値型の場合はデフォルト値( の場合は 0など)を返しますint

実装するコレクション型IList<T>(配列またはリスト) の場合は、インデクサーを使用して要素を取得し、他の型の場合はforeachループとカウンター変数を使用します。

したがって、Countプロパティを使用して、リストにインデックスに十分な項目が含まれているかどうかを確認することもできます。

string the4th = null;
if(index < theList.Count)
{
    the4th = theList[index];
}
于 2013-03-08T17:18:15.583 に答える
0

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

var fourthItem = theList[3];
于 2013-03-08T17:17:37.113 に答える
0

これでうまくいくはずです。配列インデックスを介してアクセスします。

theList[3] 

インデックスが0から始まるため、その3。

于 2013-03-08T17:17:41.160 に答える