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

C# Single() 메서드 – 시퀀스에서 단일 요소 추출하기

C#의 Single() 메서드는 LINQ에서 제공하는 연산자로, 시퀀스(컬렉션)에 포함된 단 하나의 요소를 가져올 때 사용합니다.

Single()은 정확히 하나의 요소가 존재할 때만 정상적으로 동작하며, 요소가 없거나 두 개 이상이면 InvalidOperationException 예외가 발생한다는 점을 기억해야 합니다.

Single() 메서드 기본 사용법

예를 들어, 요소가 하나뿐인 문자열 배열이 있다고 가정해 보겠습니다.

string[] str = { "one" };

이 배열에서 유일한 요소를 가져오려면 다음과 같이 AsQueryable()과 함께 Single() 메서드를 호출하면 됩니다.

str.AsQueryable().Single();

전체 코드 예제

아래는 Single() 메서드의 실제 동작을 확인할 수 있는 완전한 C# 코드입니다.

using System;
using System.Linq;
using System.Collections.Generic;

public class Demo {
   public static void Main() {
      // 요소가 하나뿐인 문자열 배열 선언
      string[] str = { "one" };

      // Single() 메서드로 유일한 요소 가져오기
      string res = str.AsQueryable().Single();

      Console.WriteLine(res);
   }
}

실행 결과

위 코드를 실행하면 배열에 존재하는 유일한 요소가 출력됩니다.

one

주의 사항

Single() 메서드를 사용할 때는 다음 사항에 유의해야 합니다.

  • 시퀀스에 요소가 하나도 없으면 예외가 발생합니다.
  • 시퀀스에 두 개 이상의 요소가 있어도 예외가 발생합니다.
  • 조건과 일치하는 요소가 없거나 여러 개여도 예외를 피하고 싶다면 SingleOrDefault() 또는 FirstOrDefault() 메서드를 사용하는 것이 좋습니다.

따라서 컬렉션에 반드시 하나의 요소만 있다는 것이 보장되는 경우에 Single() 메서드를 사용하는 것이 안전합니다.