Enumerable.Single Methode

Definitie

Retourneert één specifiek element van een reeks.

Overloads

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

Retourneert het enige element van een reeks die voldoet aan een opgegeven voorwaarde en genereert een uitzondering als er meer dan één dergelijk element bestaat.

Single<TSource>(IEnumerable<TSource>)

Retourneert het enige element van een reeks en genereert een uitzondering als er niet precies één element in de reeks is.

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

Retourneert het enige element van een reeks die voldoet aan een opgegeven voorwaarde en genereert een uitzondering als er meer dan één dergelijk element bestaat.

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

Het type van de elementen van source.

Parameters

source
IEnumerable<TSource>

Een IEnumerable<T> om één element van te retourneren.

predicate
Func<TSource,Boolean>

Een functie om een element voor een voorwaarde te testen.

Retouren

TSource

Het enige element van de invoerreeks die voldoet aan een voorwaarde.

Uitzonderingen

source of predicate is null.

Geen element voldoet aan de voorwaarde in predicate.

– of –

Meer dan één element voldoet aan de voorwaarde in predicate.

– of –

De bronvolgorde is leeg.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) u het enige element van een matrix selecteert dat voldoet aan een voorwaarde.

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

In het volgende codevoorbeeld ziet u dat Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) er een uitzondering wordt gegenereerd wanneer de reeks niet precies één element bevat dat voldoet aan de voorwaarde.

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.

Opmerkingen

De Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) methode genereert een uitzondering als de invoerreeks geen overeenkomend element bevat. Als u in plaats daarvan wilt retourneren null wanneer er geen overeenkomend element wordt gevonden, gebruikt u SingleOrDefault.

Van toepassing op

Single<TSource>(IEnumerable<TSource>)

Retourneert het enige element van een reeks en genereert een uitzondering als er niet precies één element in de reeks is.

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

Het type van de elementen van source.

Parameters

source
IEnumerable<TSource>

Een IEnumerable<T> om het ene element van te retourneren.

Retouren

TSource

Het enige element van de invoerreeks.

Uitzonderingen

source is null.

De invoerreeks bevat meer dan één element.

– of –

De invoerreeks is leeg.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe Single<TSource>(IEnumerable<TSource>) u het enige element van een matrix selecteert.

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

In het volgende codevoorbeeld ziet u dat Single<TSource>(IEnumerable<TSource>) er een uitzondering wordt gegenereerd wanneer de reeks niet precies één element bevat.

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.

Opmerkingen

De Single<TSource>(IEnumerable<TSource>) methode genereert een uitzondering als de invoerreeks leeg is. Als u in plaats daarvan wilt retourneren null wanneer de invoerreeks leeg is, gebruikt u SingleOrDefault.

Van toepassing op