我有一个清单:
List<string> theList = new List<string>;
列表中有一些元素。现在我想通过索引获得一个项目。例如我想获得4号元素。我该怎么做?
答案 0 :(得分:9)
只需使用索引器
string item = theList[3];
请注意,C#中的索引是基于0的。因此,如果你想要列表中的第4个元素,你需要使用索引3.如果你想要第5个元素,你将使用索引4.从你的问题中不清楚你想要的是什么
索引器是.Net集合类型的常见功能。对于列表,它通常是基于索引的,对于映射它是基于密钥的。相关类型的文档将告诉您哪些以及是否可用。索引器成员将作为名为Item
答案 1 :(得分:4)
要获得第4项,您可以使用索引器:
string item = theList[3];
如果您更喜欢使用方法,则可以使用ElementAt
或(ElementAtOrDefault
):
string item = theList.ElementAt(3);
答案 2 :(得分:1)
您可以使用Indexer
获取所选index
string item = theList[3];
答案 3 :(得分:1)
使用索引器:
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];
}
答案 4 :(得分: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
答案 5 :(得分:0)
var fourthItem = theList[3];
答案 6 :(得分:0)
这应该这样做,通过数组索引访问。
theList[3]
它的3作为索引从0开始。