按id获取列表项

本文关键字:列表 获取 id | 更新日期: 2023-09-27 18:02:54

我有一个列表:

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

清单中有几个要素。现在我想通过索引得到一个项目。例如,我想得到元素编号4。我该怎么做?

按id获取列表项

只需使用索引器

string item = theList[3];

请注意,C#中的索引是基于0的。因此,如果你想要列表中的第四个元素,你需要使用索引3。如果你想要第五个元素,你可以使用索引4。从你的问题中还不清楚你想要

索引器是.Net集合类型上的一个常见功能。对于列表,它通常是基于索引的,对于映射,它是基于键的。有问题的类型的文档将告诉您哪种类型以及是否可用。索引器成员将作为名为Item 的属性列出

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

要获得第4项,可以使用索引器:

string item = theList[3];

如果您喜欢使用方法,则可以使用ElementAt或(ElementAtOrDefault(:

string item = theList.ElementAt(3);

您可以使用Indexer在选定的index 中获取项目

string item = theList[3];

使用索引器:

string the4th = theList[3];

请注意,如果列表只有3项或更少,则会引发异常,因为索引总是从零开始的。您可能想要使用Enumerable.ElementAtOrDefault,然后:

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

如果index < list.Count,则ElementAtOrDefault返回指定索引处的元素,如果index >= theList.Count,则返回default(T)。因此,对于引用类型(如String(,它返回null,而对于值类型,它返回其默认值(例如,int为0(。

对于实现IList<T>(数组或列表(的集合类型,它使用索引器来获取元素,而对于其他类型,它则使用foreach循环和计数器变量。

因此,您还可以使用Count属性来检查列表中是否包含足够的索引项:

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

使用索引器语法:

var fourthItem = theList[3];

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

theList[3] 

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

您可以使用Indexer获取所选索引处的Item

     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