按索引获取列表项

本文关键字:列表 获取 索引 | 更新日期: 2023-09-27 18:04:11

我最近开始使用c#,而不是Java。我似乎找不到如何按索引获取列表项。在java中,要获取列表的第一项,它将是:

list1.get(0);

在c#中等效的是什么?

按索引获取列表项

list1[0];

假设list的类型定义了索引器

您可以在列表中使用ElementAt扩展方法。

例如:

// Get the first item from the list
using System.Linq;
var myList = new List<string>{ "Yes", "No", "Maybe"};
var firstItem = myList.ElementAt(0);
// Do something with firstItem

Visual Basic, c#和c++都有访问Item属性而不使用其名称的语法。相反,将包含List的变量当作数组来使用:

List[index]

参见,例如,List。项目(Int32)财产。

。. NET List数据结构是一个"可变外壳"中的Array

你可以使用索引来访问它的元素,比如

var firstElement = myList[0];
var secondElement = myList[1];

c# 8.0开始,您可以使用IndexRange类访问元素。它们提供从序列末尾开始访问或仅访问序列的特定部分:

var lastElement = myList[^1]; // Using Index
var fiveElements = myList[2..7]; // Using Range, note that 7 is exclusive

您可以将索引和范围组合在一起:

var elementsFromThirdToEnd = myList[2..^0]; // Index and Range together

也可以使用LINQ ElementAt方法,但在99%的情况下,这真的是没有必要的,只是缓慢的性能解决方案。

老问题,但我看到这个帖子最近很活跃,所以我将继续发表我的观点:

和Mitch说的差不多。假设索引正确,您可以继续使用方括号表示法,就像访问数组一样。除了使用数字索引之外,如果成员有特定的名称,通常还可以通过输入如下命令来进行同步搜索/访问:

var temp = list1["DesiredMember"];

你知道的越多,对吗?

可以使用index来访问列表元素

List<string> list1 = new List<string>();
list1[0] //for getting the first element of the list