按ID获取列表项

时间:2013-03-08 17:15:50

标签: c# visual-studio-2010 list

我有一个清单:

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

列表中有一些元素。现在我想通过索引获得一个项目。例如我想获得4号元素。我该怎么做?

7 个答案:

答案 0 :(得分:9)

只需使用索引器

string item = theList[3];

请注意,C#中的索引是基于0的。因此,如果你想要列表中的第4个元素,你需要使用索引3.如果你想要第5个元素,你将使用索引4.从你的问题中不清楚你想要的是什么

索引器是.Net集合类型的常见功能。对于列表,它通常是基于索引的,对于映射它是基于密钥的。相关类型的文档将告诉您哪些以及是否可用。索引器成员将作为名为Item

的属性列出
  

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

答案 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.Countdefault(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)

使用Indexer Syntax

var fourthItem = theList[3];

答案 6 :(得分:0)

这应该这样做,通过数组索引访问。

theList[3] 

它的3作为索引从0开始。