이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

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

 

게시 날짜: 2016년 11월

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

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

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

매개 변수

source
Type: System.Collections.Generic.IEnumerable<TSource>

IEnumerable<T> 에서 단일 요소를 반환 합니다.

predicate
Type: System.Func<TSource, Boolean>

요소를 조건에 대해 테스트하는 함수입니다.

반환 값

Type: TSource

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

형식 매개 변수

TSource

요소 형식의 source합니다.

Exception Condition
ArgumentNullException

source 또는 predicatenull인 경우

InvalidOperationException

조건에 맞는 요소가 predicate합니다.

또는

조건에 맞는 둘 이상의 요소가 predicate합니다.

또는

소스 시퀀스가 비어 있습니다.

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

다음 코드 예제에 사용 하는 방법을 보여 줍니다 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.

유니버설 Windows 플랫폼
8 이후 사용 가능
.NET Framework
3.5 이후 사용 가능
이식 가능한 클래스 라이브러리
이식 가능한 .NET 플랫폼 에서 지원됨
Silverlight
2.0 이후 사용 가능
Windows Phone Silverlight
7.0 이후 사용 가능
Windows Phone
8.1 이후 사용 가능
맨 위로 이동
표시: