Enumerable.Single Yöntem

Tanım

Bir dizinin tek, belirli bir öğesini döndürür.Returns a single, specific element of a sequence.

Aşırı Yüklemeler

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

Belirtilen koşulu karşılayan bir dizinin tek öğesini döndürür ve birden fazla öğe varsa bir özel durum oluşturur.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>)

Sıranın tek bir öğesini döndürür ve dizide tam olarak bir öğe yoksa bir özel durum oluşturur.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>)

Belirtilen koşulu karşılayan bir dizinin tek öğesini döndürür ve birden fazla öğe varsa bir özel durum oluşturur.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

Tür Parametreleri

TSource

Öğelerinin türü source .The type of the elements of source.

Parametreler

source
IEnumerable<TSource>

' IEnumerable<T> Dan tek bir öğe döndürmek için.An IEnumerable<T> to return a single element from.

predicate
Func<TSource,Boolean>

Bir koşul için bir öğe test etmek için bir işlev.A function to test an element for a condition.

Döndürülenler

TSource

Bir koşulu karşılayan giriş dizisinin tek öğesi.The single element of the input sequence that satisfies a condition.

Özel durumlar

source ya predicate da null .source or predicate is null.

Öğesinde koşulu karşılayan hiçbir öğe yok predicate .No element satisfies the condition in predicate.

-veya--or- Birden fazla öğe içindeki koşulu karşılar predicate .More than one element satisfies the condition in predicate.

-veya--or- Kaynak sırası boş.The source sequence is empty.

Örnekler

Aşağıdaki kod örneği, Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) bir koşulu karşılayan bir dizinin tek bir öğesini seçmek için nasıl kullanılacağını gösterir.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}")

Aşağıdaki kod örneği, dizi, Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) koşulu karşılayan tam olarak bir öğe içermediği zaman bir özel durum oluşturur.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.

Açıklamalar

Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)Giriş sırası eşleşen bir öğe içermiyorsa Yöntem bir özel durum oluşturur.The Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) method throws an exception if the input sequence contains no matching element. Bunun yerine null , eşleşen bir öğe bulunamadığında, öğesini kullanın SingleOrDefault .To instead return null when no matching element is found, use SingleOrDefault.

Şunlara uygulanır

Single<TSource>(IEnumerable<TSource>)

Sıranın tek bir öğesini döndürür ve dizide tam olarak bir öğe yoksa bir özel durum oluşturur.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

Tür Parametreleri

TSource

Öğelerinin türü source .The type of the elements of source.

Parametreler

source
IEnumerable<TSource>

Öğesinin IEnumerable<T> tek öğesini döndürecek bir.An IEnumerable<T> to return the single element of.

Döndürülenler

TSource

Giriş dizisinin tek öğesi.The single element of the input sequence.

Özel durumlar

source, null değeridir.source is null.

Giriş dizisi birden fazla öğe içeriyor.The input sequence contains more than one element.

-veya--or-

Giriş dizisi boş.The input sequence is empty.

Örnekler

Aşağıdaki kod örneği, Single<TSource>(IEnumerable<TSource>) bir dizinin tek bir öğesini seçmek için nasıl kullanılacağını gösterir.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}")

Aşağıdaki kod örneği, Single<TSource>(IEnumerable<TSource>) dizi tam olarak bir öğe içermediği zaman bir özel durum oluşturduğunda gösterir.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.

Açıklamalar

Single<TSource>(IEnumerable<TSource>)Giriş dizisi boşsa Yöntem bir özel durum oluşturur.The Single<TSource>(IEnumerable<TSource>) method throws an exception if the input sequence is empty. Bunun yerine, null giriş dizisi boş olduğunda öğesini kullanın SingleOrDefault .To instead return null when the input sequence is empty, use SingleOrDefault.

Şunlara uygulanır