2013-03-08 54 views
4

獲取列表項我有一個列表:通過ID

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

有在列表中的幾個要素。現在我想通過索引獲取一個項目。例如我想獲得元素編號4.我該怎麼做?

回答

4

要獲得4項,你可以使用索引:

string item = theList[3]; 

如果你喜歡使用的方法,那麼你可以使用ElementAt或(ElementAtOrDefault):

string item = theList.ElementAt(3); 
9

只需使用索引

string item = theList[3]; 

請注意,C#中的索引是基於0的。所以,如果你想要列表中的第四個元素,你需要使用索引3.如果你想第五個元素,你會使用索引4.從你的問題你不清楚你打算

索引器是一個常見的功能.Net集合類型。對於列表,它通常是基於索引的,對於映射它是基於關鍵字的。問題類型的文檔將告訴您哪些以及是否可用。索引成員將陸續上市,雖然作爲屬性命名Item

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

+2

+1訪問 - 該索引是基於0的。 (對於上下文,當時的其他答案以'4'作爲索引)。 – keyboardP 2013-03-08 17:17:25

+0

+1對應的類型 – Vogel612 2013-03-08 17:17:59

1

可以使用Indexer在選定index

string item = theList[3]; 
0

這應該這樣做,通過數組索引訪問。

theList[3] 

其3爲指數的爲0。

1

使用索引開始:

string the4th = theList[3]; 

需要注意的是,這將引發異常,如果列表中只有3件或更少以來,該指數始終從零開始。您可能需要使用Enumerable.ElementAtOrDefault則:

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

ElementAtOrDefault指定索引處返回元素如果index < list.Countdefault(T)如果index >= theList.Count。因此,對於參考類型(如String),它將返回null,並將值類型設爲其默認值(例如int爲0)。

對於實現IList<T>(數組或列表)的集合類型,它使用索引器獲取元素,對於其他類型,它使用foreach循環和計數器變量。

所以,你也可以使用Count屬性來檢查,如果列表中包含足夠的項目爲索引:

string the4th = null; 
if(index < theList.Count) 
{ 
    the4th = theList[index]; 
} 
+0

謝謝!並且默認爲空? – tux007 2013-03-08 17:23:37

+0

@ tux007:默認是任何默認(類型)返回,編輯我的答案。 – 2013-03-08 19:35:36

1

您可以使用索引,在選擇指數

 string item = theList[3]; 

拿到項目或者如果你想獲得id(如果從數據庫訪問)定義一個類,例如

public class Person 
    { 
     public int PId; 
     public string PName; 

    } 

,併爲後續

 List<Person> theList = new List<Person>(); 
    Person p1 = new Person(); 
    int id = theList[3].PId