Enumerable.Single Enumerable.Single Enumerable.Single Enumerable.Single Method

정의

시퀀스의 특정 단일 요소를 반환합니다.Returns a single, specific element of a sequence.

오버로드

Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

시퀀스에서 지정된 조건에 맞는 유일한 요소를 반환하고, 이러한 요소가 둘 이상 있으면 예외를 throw합니다.Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists.

Single<TSource>(IEnumerable<TSource>) Single<TSource>(IEnumerable<TSource>) Single<TSource>(IEnumerable<TSource>) Single<TSource>(IEnumerable<TSource>)

시퀀스의 유일한 요소를 반환하고, 시퀀스에 요소가 정확히 하나 들어 있지 않으면 예외를 throw합니다.Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence.

Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

시퀀스에서 지정된 조건에 맞는 유일한 요소를 반환하고, 이러한 요소가 둘 이상 있으면 예외를 throw합니다.Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static TSource Single(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, bool> ^ predicate);
public static TSource Single<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);
static member Single : seq<'Source> * Func<'Source, bool> -> 'Source
<Extension()>
Public Function Single(Of TSource) (source As IEnumerable(Of TSource), predicate As Func(Of TSource, Boolean)) As TSource

형식 매개 변수

TSource

source 요소의 형식입니다.The type of the elements of source.

매개 변수

source
IEnumerable<TSource>

단일 요소를 반환할 IEnumerable<T>입니다.An IEnumerable<T> to return a single element from.

predicate
Func<TSource,Boolean>

요소를 조건에 대해 테스트하는 함수입니다.A function to test an element for a condition.

반환

TSource TSource TSource TSource

입력 시퀀스에서 특정 조건에 맞는 단일 요소입니다.The single element of the input sequence that satisfies a condition.

예외

source 또는 predicatenull인 경우source or predicate is null.

predicate의 조건을 충족하는 요소가 없는 경우No element satisfies the condition in predicate.

또는-or- predicate의 조건에 맞는 요소가 둘 이상인 경우More than one element satisfies the condition in predicate.

또는-or- 소스 시퀀스가 비어 있는 경우The source sequence is empty.

예제

다음 코드 예제에 사용 하는 방법을 보여 줍니다. Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) 조건을 충족 하는 배열의 유일한 요소를 선택 합니다.The following code example demonstrates how to use Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) to select the only element of an array that satisfies a condition.

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
*/
' Create an array of strings.
Dim fruits() As String =
{"apple", "banana", "mango", "orange", "passionfruit", "grape"}

' Get the single item in the array whose length is greater than 10.
Dim result As String =
fruits.Single(Function(fruit) fruit.Length > 10)

' Display the result.
MsgBox("First query: " & result)

다음 코드 예제에서는 Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) 시퀀스에 조건을 만족 하는 정확히 하나의 요소가 없는 경우 예외를 throw 합니다.The following code example demonstrates that Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) throws an exception when the sequence does not contain exactly one element that satisfies the condition.

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.
result = String.Empty

' Try to get the single item in the array whose length is > 15.
Try
    result = fruits.Single(Function(fruit) _
                           fruit.Length > 15)
Catch ex As System.InvalidOperationException
    result = "There is not EXACTLY ONE element whose length is > 15."
End Try

' Display the result.
MsgBox("Second query: " & result)

' This code produces the following output:
'
' First query: passionfruit
' Second query: There is not EXACTLY ONE element whose length is > 15.

설명

Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) 메서드는 입력된 시퀀스에 일치 하는 요소가 없으면 예외를 throw 합니다.The Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) method throws an exception if the input sequence contains no matching element. 대신 반환할 null 사용 하 여 일치 하는 요소가 없는 경우 SingleOrDefault합니다.To instead return null when no matching element is found, use SingleOrDefault.

Single<TSource>(IEnumerable<TSource>) Single<TSource>(IEnumerable<TSource>) Single<TSource>(IEnumerable<TSource>) Single<TSource>(IEnumerable<TSource>)

시퀀스의 유일한 요소를 반환하고, 시퀀스에 요소가 정확히 하나 들어 있지 않으면 예외를 throw합니다.Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static TSource Single(System::Collections::Generic::IEnumerable<TSource> ^ source);
public static TSource Single<TSource> (this System.Collections.Generic.IEnumerable<TSource> source);
static member Single : seq<'Source> -> 'Source
<Extension()>
Public Function Single(Of TSource) (source As IEnumerable(Of TSource)) As TSource

형식 매개 변수

TSource

source 요소의 형식입니다.The type of the elements of source.

매개 변수

source
IEnumerable<TSource>

단일 요소를 반환할 IEnumerable<T>입니다.An IEnumerable<T> to return the single element of.

반환

TSource TSource TSource TSource

입력 시퀀스의 단일 요소입니다.The single element of the input sequence.

예외

입력 시퀀스에 요소가 두 개 이상 있습니다.The input sequence contains more than one element.

또는-or-

입력 시퀀스가 비어 있는 경우The input sequence is empty.

예제

다음 코드 예제에 사용 하는 방법을 보여 줍니다. Single<TSource>(IEnumerable<TSource>) 배열의 유일한 요소를 선택 합니다.The following code example demonstrates how to use Single<TSource>(IEnumerable<TSource>) to select the only element of an array.

string[] fruits1 = { "orange" };

string fruit1 = fruits1.Single();

Console.WriteLine(fruit1);

/*
 This code produces the following output:

 orange
*/
' Create an array that contains one item.
Dim fruits1() As String = {"orange"}

' Get the single item in the array.
Dim result As String = fruits1.Single()

' Display the result.
MsgBox("First query: " & result)

다음 코드 예제에서는 Single<TSource>(IEnumerable<TSource>) 시퀀스는 정확히 하나의 요소가 포함 되지 않는 경우 예외를 throw 합니다.The following code example demonstrates that Single<TSource>(IEnumerable<TSource>) throws an exception when the sequence does not contain exactly one element.

string[] fruits2 = { "orange", "apple" };
string fruit2 = null;

try
{
    fruit2 = fruits2.Single();
}
catch (System.InvalidOperationException)
{
    Console.WriteLine("The collection does not contain exactly one element.");
}

Console.WriteLine(fruit2);

/*
 This code produces the following output:

 The collection does not contain exactly one element.
*/
' Create an array that contains two items.
Dim fruits2() As String = {"orange", "apple"}

result = String.Empty

' Try to get the 'single' item in the array.
Try
    result = fruits2.Single()
Catch ex As System.InvalidOperationException
    result = "The collection does not contain exactly one element."
End Try

' Display the result.
MsgBox("Second query: " & result)

' This code produces the following output:
'
' First query: orange
' Second query: The collection does not contain exactly one element.

설명

Single<TSource>(IEnumerable<TSource>) 메서드에서 입력된 시퀀스가 비어 있으면 예외가 throw 됩니다.The Single<TSource>(IEnumerable<TSource>) method throws an exception if the input sequence is empty. 대신 반환할 null 사용 하 여 입력된 시퀀스가 비어 있으면 SingleOrDefault합니다.To instead return null when the input sequence is empty, use SingleOrDefault.

적용 대상