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

Возвращает единственный элемент последовательности, удовлетворяющий указанному условию, и вызывает исключение, если таких элементов больше одного.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>)

Возвращает единственный элемент последовательности и генерирует исключение, если число элементов последовательности отлично от 1.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>)

Возвращает единственный элемент последовательности, удовлетворяющий указанному условию, и вызывает исключение, если таких элементов больше одного.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 или predicate имеет значение null.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>) что вызывает исключение, если последовательность не содержит ровно один элемент, удовлетворяющий условию.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>) Метод создает исключение, если входная последовательность не содержит соответствующего элемента.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>)

Возвращает единственный элемент последовательности и генерирует исключение, если число элементов последовательности отлично от 1.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>) что вызывает исключение, если последовательность не содержит ровно один элемент.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>) Метод создает исключение, если входная последовательность пуста.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.

Применяется к