Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# List 컬렉션에서 특정 항목의 존재 여부 확인하는 방법

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을 반환합니다.