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

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

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

Исключения

Свойство source имеет значение null.source is null.

Входная последовательность содержит более одного элемента.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.

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