2013-03-17 12 views
207

最近、JavaからC#を使用し始めました。インデックスでリストアイテムを取得する方法を見つけることができないようです。 javaでは、リストの最初の項目を取得するには、次のようになります。インデックスによるリストアイテムの取得

list1.get(0); 

C#での対応はなんですか?

+3

ユーザーは'13年3月21日に最後に表示されたためです。 – displayName

+3

[]演算子を使用するか、ElementAt()メソッドを使用するかについては、http://stackoverflow.com/questions/5326874/why-would-i-use-enumerable-elementat-versus-operatorを参照してください。 – ngm

答えて

236
list1[0]; 

リストの型にインデクサが定義されていると仮定します。

+2

配列のようなオブジェクトであるリストにアクセスすることができる理由を説明する唯一の答え – PrashanD

156

リストでElementAt拡張メソッドを使用できます。

var myList = new List<string>{ "Yes", "No", "Maybe"}; 

//リストから最初の項目を取得します

using System.Linq; 
var firstItem = myList.ElementAt(0); 

// firstItem

+15

ElementAt()には 'using System.Linq;'が必要です。 – ngm

+11

これは、標準の 'myList [0]'表記よりも利点がありますか? – AnalogWeapon

+0

"Enumerable.ElementAt()と[]演算子を使用するのはなぜですか?" https://stackoverflow.com/questions/5326874/why-would-i-use-enumerable-elementat-versus-the-operator – Lavande

18

のVisual Basic、C#の、およびC++で何かをするすべて持っている構文:たとえば

その名前を使わずにItemプロパティにアクセスするためのものです。代わりに、Listを含む変数は、配列であるかのように使用されます。

List[index] 

インスタンスを参照してください: https://msdn.microsoft.com/en-us/library/0ebtbkkc(v=vs.110).aspx

14

古い質問を、私は、このスレッドはかなり最近アクティブであったので、私は先に行くと私の2セントでスローされますことを参照してください。

プリティまさにミッチが言ったこと。適切なインデックス作成を前提として、配列にアクセスしているかのように角かっこ表記を使用することができます。

var temp = list1["DesiredMember"]; 

は、あなたが知っているより多くの、右:あなたのメンバーは、特定の名前を持っている場合は、数値インデックスを使用することに加えて、しかし、あなたは多くの場合のようなものを入力することで、同時検索/アクセスの種類を行うことができますか?

関連する問題