簡體   English   中英

通過索引獲取列表項

[英]Getting a list item by index

我最近開始使用從 Java 轉移過來的 c#。 我似乎無法找到如何通過索引獲取列表項。 在java中獲取列表的第一項將是:

list1.get(0);

c# 中的等價物是什么?

list1[0];

假設列表的類型定義了一個索引器。

您可以使用列表中的 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]

參見例如: https : //msdn.microsoft.com/en-us/library/0ebtbkkc(v=vs.110).aspx

老問題,但我看到這個線程最近很活躍,所以我會繼續投入我的兩分錢:

米奇說的差不多。 假設索引正確,您可以繼續使用方括號表示法,就像訪問數組一樣。 但是,除了使用數字索引之外,如果您的成員具有特定名稱,您通常可以通過鍵入以下內容來同時進行搜索/訪問:

var temp = list1["DesiredMember"];

你知道的越多,對吧?

.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% 的情況,這確實沒有必要,只是性能緩慢的解決方案。

您可以使用索引來訪問列表元素

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM