[C#] 색인으로 목록 항목 가져 오기

최근에 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를 참조하십시오.


답변

오래된 질문이지만이 스레드가 최근에 활성화되어 있음을 알았으므로 계속해서 2 센트를 던져 보겠습니다.

Mitch가 말한 것과 거의 같습니다. 적절한 인덱싱을 가정하면 배열에 액세스하는 것처럼 대괄호 표기법을 사용할 수 있습니다. 그러나 숫자 인덱스를 사용하는 것 외에도 멤버의 이름이 특정인 경우 다음과 같이 입력하여 일종의 동시 검색 / 액세스를 수행 할 수 있습니다.

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


답변