Enumerable.Single Method

Definition

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

Overloads

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>)

시퀀스의 유일한 요소를 반환하고, 시퀀스에 요소가 정확히 하나 들어 있지 않으면 예외를 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>)

시퀀스에서 지정된 조건에 맞는 유일한 요소를 반환하고, 이러한 요소가 둘 이상 있으면 예외를 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

Type Parameters

TSource

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

Parameters

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.

Returns

TSource

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

Exceptions

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.

Examples

다음 코드 예제에서는 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.
Console.WriteLine($"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.
Console.WriteLine($"Second query: {result}")

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

Remarks

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>)

시퀀스의 유일한 요소를 반환하고, 시퀀스에 요소가 정확히 하나 들어 있지 않으면 예외를 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

Type Parameters

TSource

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

Parameters

source
IEnumerable<TSource>

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

Returns

TSource

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

Exceptions

sourcenull입니다.source is null.

입력된 시퀀스에 요소가 둘 이상 포함합니다.The input sequence contains more than one element.

-또는--or-

입력된 시퀀스가 비어 있습니다.The input sequence is empty.

Examples

다음 코드 예제에서는 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.
Console.WriteLine($"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.
Console.WriteLine($"Second query: {result}")

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

Remarks

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.

Applies to