獲取列表項我有一個列表:通過ID
List<string> theList = new List<string>;
有在列表中的幾個要素。現在我想通過索引獲取一個項目。例如我想獲得元素編號4.我該怎麼做?
獲取列表項我有一個列表:通過ID
List<string> theList = new List<string>;
有在列表中的幾個要素。現在我想通過索引獲取一個項目。例如我想獲得元素編號4.我該怎麼做?
要獲得4項,你可以使用索引:
string item = theList[3];
如果你喜歡使用的方法,那麼你可以使用ElementAt
或(ElementAtOrDefault
):
string item = theList.ElementAt(3);
只需使用索引
string item = theList[3];
請注意,C#中的索引是基於0的。所以,如果你想要列表中的第四個元素,你需要使用索引3.如果你想第五個元素,你會使用索引4.從你的問題你不清楚你打算
索引器是一個常見的功能.Net集合類型。對於列表,它通常是基於索引的,對於映射它是基於關鍵字的。問題類型的文檔將告訴您哪些以及是否可用。索引成員將陸續上市,雖然作爲屬性命名Item
可以使用Indexer
在選定index
string item = theList[3];
獲得項目使用Indexer Syntax:
var fourthItem = theList[3];
這應該這樣做,通過數組索引訪問。
theList[3]
其3爲指數的爲0。
使用索引開始:
string the4th = theList[3];
需要注意的是,這將引發異常,如果列表中只有3件或更少以來,該指數始終從零開始。您可能需要使用Enumerable.ElementAtOrDefault
則:
string the4th = theList.ElementAtOrDefault(3);
if(the4th != null)
{
// ...
}
ElementAtOrDefault
指定索引處返回元素如果index < list.Count
和default(T)
如果index >= theList.Count
。因此,對於參考類型(如String
),它將返回null
,並將值類型設爲其默認值(例如int
爲0)。
對於實現IList<T>
(數組或列表)的集合類型,它使用索引器獲取元素,對於其他類型,它使用foreach
循環和計數器變量。
所以,你也可以使用Count
屬性來檢查,如果列表中包含足夠的項目爲索引:
string the4th = null;
if(index < theList.Count)
{
the4th = theList[index];
}
謝謝!並且默認爲空? – tux007 2013-03-08 17:23:37
@ tux007:默認是任何默認(類型)返回,編輯我的答案。 – 2013-03-08 19:35:36
您可以使用索引,在選擇指數
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
+1訪問 - 該索引是基於0的。 (對於上下文,當時的其他答案以'4'作爲索引)。 – keyboardP 2013-03-08 17:17:25
+1對應的類型 – Vogel612 2013-03-08 17:17:59