C#에서 List<T> 컬렉션 안에 특정 항목이 포함되어 있는지 확인하고 싶다면 Contains() 메서드를 사용하는 것이 가장 간단한 방법입니다. 이 메서드는 해당 항목이 목록에 존재하면 true, 존재하지 않으면 false를 반환합니다.
1. 리스트 생성하기
먼저 문자열 타입의 List를 하나 선언합니다.
List<string> list1 = new List<string>() {
"Lawrence",
"Adams",
"Pitt",
"Tom"
};
2. Contains 메서드로 항목 확인하기
Contains() 메서드에 찾으려는 값을 인수로 전달하면, 해당 항목이 목록에 있는지 여부를 손쉽게 판별할 수 있습니다.
if (list1.Contains("Adams") == true) {
Console.WriteLine("Item exists!");
}
아래는 C# List에 특정 항목이 존재하는지 확인하는 전체 예제 코드입니다.
전체 예제 코드
using System;
using System.Collections.Generic;
public class Program {
public static void Main() {
List<string> list1 = new List<string>() {
"Lawrence",
"Adams",
"Pitt",
"Tom"
};
Console.Write("List...\n");
foreach(string list in list1) {
Console.WriteLine(list);
}
Console.Write("Finding an item in the list...\n");
if (list1.Contains("Adams") == true) {
Console.WriteLine("Item exists!");
} else {
Console.WriteLine("Item does not exist!");
}
}
}
실행 결과
List... Lawrence Adams Pitt Tom Finding an item in the list... Item exists!
추가로 알아두면 좋은 점
- 대소문자 구분:
Contains()는 기본적으로 대소문자를 구분합니다. 따라서"adams"와"Adams"는 서로 다른 값으로 처리됩니다. - 조건 기반 검색: 단순 값 비교가 아닌 복잡한 조건으로 검색하려면
Exists()메서드나 LINQ의Any()메서드를 활용할 수 있습니다. - 인덱스 확인: 항목의 존재 여부뿐 아니라 위치까지 알고 싶다면
IndexOf()메서드를 사용하세요. 항목이 없으면 -1을 반환합니다.