프로그래밍/C#

[C#] List 특정 값 가져오기

Kyllox 2022. 2. 6. 05:09

C#의 List<T> 기능을 사용할 때 가장 필요한 것은 리스트에서 특정 값을 가져와 사용하는 것이라고 할 수 있습니다.

이 글에선 값을 가져올 때 가장 많이 사용되는 방법 3가지를 알아보겠습니다.

 

1. 배열 Index를 이용한 특정 값 가져오기

가장 쉽고 간단한 방식이지만 접근하려는 값의 인덱스 번호를 알아야 사용할 수 있습니다. 아래 예제 코드를 확인해주세요.

List<int> list = new List<int>(); // 새로운 리스트 list를 생성
list.Add(1); // list에 값 1을 추가
list.Add(10);
list.Add(100);

int a = list[0]; // 1
int b = list[1]; // 10
int c = list[2]; // 100

List 변수 뒤에 대괄호와 인덱스 번호를 붙여 특정 값에 접근할 수 있습니다. 인덱스 번호는 0부터 시작됩니다.

 

 

2. for / foreach를 사용해 특정 값 찾기

for문 혹은 foreach문을 사용하면 특정 값의 인덱스 번호를 알고 있지 않아도 값을 가져올 수 있습니다. 아래 예제 코드를 확인해주세요.

List<int> list = new List<int>(); // 새로운 리스트 list를 생성
list.Add(1); // list에 값 1을 추가
list.Add(10);
list.Add(100);

int a = 0;
for (int i = 0; i < list.Count; i++) // list 값의 개수 만큼 반복
{
    if (list[i] == 10) // list에서 값 10을 찾았을 때
    {
    	a = list[i];
        break; // 반복문 탈출
    }
}

int b = a; // 10
List<int> list = new List<int>(); // 새로운 리스트 list를 생성
list.Add(1); // list에 값 1을 추가
list.Add(10);
list.Add(100);

int a = 0;
foreach (int b in list) // list 값의 개수 만큼 반복
{
    if (b == 100) // list에서 값 10을 찾았을 때
    {
    	a = b;
        break; // 반복문 탈출
    }
}

int c = a; // 100

for / foreach와 같은 반복문을 사용해 리스트의 특정 값을 찾을 때까지 반복하여 값을 구할 수 있습니다.

 

 

3. FindIndex 메소드를 사용해 특정 값의 인덱스 번호 찾기

List의 자체 메소드인 FindIndex를 사용하면 특정 값의 인덱스 번호를 찾을 수 있습니다. 아래 예제 코드를 확인해주세요.

List<int> list = new List<int>(); // 새로운 리스트 list를 생성
list.Add(1); // list에 값 1을 추가
list.Add(10);
list.Add(100);

int index = list.FindIndex((int p) => p == 10); // list에서 값이 10인 값의 인덱스 번호 가져오기

int a = list[index]; // 10

 

이렇게 List에서 어떻게 특정 값을 찾는지 알아보았습니다.