내보내기(0) 인쇄
모두 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

Enumerable.Single<TSource> 메서드 (IEnumerable<TSource>, Func<TSource, Boolean>)

시퀀스에서 지정된 조건에 맞는 유일한 요소를 반환하고, 이러한 요소가 둘 이상 있으면 예외를 throw합니다.

네임스페이스:  System.Linq
어셈블리:  System.Core(System.Core.dll)

public static TSource Single<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, bool> predicate
)

형식 매개 변수

TSource

source 요소의 형식입니다.

매개 변수

source
형식: System.Collections.Generic.IEnumerable<TSource>
단일 요소를 반환할 IEnumerable<T>입니다.
predicate
형식: System.Func<TSource, Boolean>
요소를 조건에 대해 테스트하는 함수입니다.

반환 값

형식: TSource
입력 시퀀스에서 특정 조건에 맞는 단일 요소입니다.

사용 정보

Visual Basic 및 C#에서는 이 메서드를 IEnumerable<TSource> 형식의 모든 개체에서 인스턴스 메서드로 호출할 수 있습니다. 인스턴스 메서드 구문을 사용하여 이 메서드를 호출할 경우에는 첫 번째 매개 변수를 생략합니다. 자세한 내용은 확장 메서드(Visual Basic) 또는 확장 메서드(C# 프로그래밍 가이드)를 참조하십시오.

예외조건
ArgumentNullException

source 또는 predicatenull인 경우

InvalidOperationException

predicate의 조건에 맞는 요소가 없는 경우

또는

predicate의 조건에 맞는 요소가 둘 이상인 경우

또는

소스 시퀀스가 비어 있는 경우

입력 시퀀스에 일치하는 요소가 없으면 Single<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) 메서드에서 예외를 throw합니다. 일치하는 요소가 없는 경우 null을 대신 반환하려면 SingleOrDefault을 사용합니다.

다음 코드 예제에서는 Single<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>)을 사용하여 배열에서 특정 조건에 맞는 단일 요소를 선택하는 방법을 보여 줍니다.


            string[] fruits = { "apple", "banana", "mango", 
                                  "orange", "passionfruit", "grape" };

            string fruit1 = fruits.Single(fruit => fruit.Length > 10);

            Console.WriteLine(fruit1);

            /*
             This code produces the following output:

             passionfruit
            */



다음 코드 예제에서는 시퀀스에서 조건에 맞는 요소가 정확히 하나가 아닐 때 Single<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>)에서 예외를 throw함을 보여 줍니다.


            string fruit2 = null;

            try
            {
                fruit2 = fruits.Single(fruit => fruit.Length > 15);
            }
            catch (System.InvalidOperationException)
            {
                Console.WriteLine(@"The collection does not contain exactly 
                                one element whose length is greater than 15.");
            }

            Console.WriteLine(fruit2);

            // This code produces the following output:
            //
            // The collection does not contain exactly  
            // one element whose length is greater than 15.



.NET Framework

4.5.2, 4.5.1, 4.5, 4, 3.5에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

이식 가능한 클래스 라이브러리

이식 가능한 클래스 라이브러리에서 지원

Windows 스토어 앱용 .NET

Windows 8에서 지원

Windows Phone 앱용 .NET

Windows Phone 8, Silverlight 8.1에서 지원

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft