Enumerable.SingleOrDefault Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir dizinin tek, belirli bir öğesini veya bu öğe bulunamazsa varsayılan değeri döndürür.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| SingleOrDefault<TSource>(IEnumerable<TSource>) |
Bir dizinin tek öğesini veya dizi boşsa varsayılan değeri döndürür; Bu yöntem, dizide birden fazla öğe varsa bir özel durum oluşturur. |
| SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Belirtilen bir koşulu veya böyle bir öğe yoksa varsayılan değeri karşılayan bir dizinin tek öğesini döndürür; Bu yöntem, koşulu birden fazla öğe karşılarsa bir özel durum oluşturur. |
| SingleOrDefault<TSource>(IEnumerable<TSource>, TSource) |
Bir dizinin tek öğesini veya dizi boşsa belirtilen varsayılan değeri döndürür; Bu yöntem, dizide birden fazla öğe varsa bir özel durum oluşturur. |
| SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>, TSource) |
Belirtilen koşulu karşılayan bir dizinin tek öğesini veya böyle bir öğe yoksa belirtilen varsayılan değeri döndürür; Bu yöntem, koşulu birden fazla öğe karşılarsa bir özel durum oluşturur. |
SingleOrDefault<TSource>(IEnumerable<TSource>)
- Kaynak:
- Single.cs
- Kaynak:
- Single.cs
- Kaynak:
- Single.cs
- Kaynak:
- Single.cs
- Kaynak:
- Single.cs
Bir dizinin tek öğesini veya dizi boşsa varsayılan değeri döndürür; Bu yöntem, dizide birden fazla öğe varsa bir özel durum oluşturur.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static TSource SingleOrDefault(System::Collections::Generic::IEnumerable<TSource> ^ source);
public static TSource SingleOrDefault<TSource>(this System.Collections.Generic.IEnumerable<TSource> source);
public static TSource? SingleOrDefault<TSource>(this System.Collections.Generic.IEnumerable<TSource> source);
static member SingleOrDefault : seq<'Source> -> 'Source
<Extension()>
Public Function SingleOrDefault(Of TSource) (source As IEnumerable(Of TSource)) As TSource
Tür Parametreleri
- TSource
öğelerinin sourcetürü.
Parametreler
- source
- IEnumerable<TSource>
öğesinin tek öğesini döndürmek için bir IEnumerable<T>.
Döndürülenler
Giriş dizisinin tek öğesi veya dizi öğe içermiyorsa default(TSource).
Özel durumlar
source, null'e eşittir.
Giriş dizisi birden fazla öğe içeriyor.
Örnekler
Aşağıdaki kod örneği, bir dizinin tek öğesini seçmek için SingleOrDefault<TSource>(IEnumerable<TSource>) nasıl kullanılacağını gösterir.
string[] fruits1 = { "orange" };
string fruit1 = fruits1.SingleOrDefault();
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 or else a default value.
Dim result As String = fruits1.SingleOrDefault()
' Display the result.
Console.WriteLine($"First array: {result}")
Aşağıdaki kod örneği, dizi boş olduğunda varsayılan bir değer döndürdüğünü SingleOrDefault<TSource>(IEnumerable<TSource>) gösterir.
string[] fruits2 = { };
string fruit2 = fruits2.SingleOrDefault();
Console.WriteLine(
String.IsNullOrEmpty(fruit2) ? "No such string!" : fruit2);
/*
This code produces the following output:
No such string!
*/
' Create an empty array.
Dim fruits2() As String = {}
result = String.Empty
' Get the single item in the array or else a default value.
result = fruits2.SingleOrDefault()
' Display the result.
Dim output As String =
IIf(String.IsNullOrEmpty(result), "No single item found", result)
Console.WriteLine($"Second array: {output}")
' This code produces the following output:
'
' First array: orange
' Second array: No single item found
Bazen değeri default(TSource) , koleksiyonda öğe yoksa kullanmak istediğiniz varsayılan değer değildir. İstenmeyen varsayılan değerin sonucunu denetlemek ve gerekirse değiştirmek yerine yöntemini kullanarak DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource) koleksiyon boşsa kullanmak istediğiniz varsayılan değeri belirtebilirsiniz. Ardından öğesini almak için Single<TSource>(IEnumerable<TSource>) çağırın. Aşağıdaki kod örneği, sayfa numaraları koleksiyonu boşsa 1 varsayılan değerini elde etmek için her iki tekniği de kullanır. Bir tamsayı için varsayılan değer genellikle geçerli bir sayfa numarası olmayan 0 olduğundan, varsayılan değer bunun yerine 1 olarak belirtilmelidir. sorgunun yürütülmesi tamamlandıktan sonra ilk sonuç değişkeni istenmeyen varsayılan değer için denetleniyor. İkinci sonuç değişkeni, varsayılan değer olan 1'i belirtmek için kullanılarak DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource) elde edilir.
int[] pageNumbers = { };
// Setting the default value to 1 after the query.
int pageNumber1 = pageNumbers.SingleOrDefault();
if (pageNumber1 == 0)
{
pageNumber1 = 1;
}
Console.WriteLine("The value of the pageNumber1 variable is {0}", pageNumber1);
// Setting the default value to 1 by using DefaultIfEmpty() in the query.
int pageNumber2 = pageNumbers.DefaultIfEmpty(1).Single();
Console.WriteLine("The value of the pageNumber2 variable is {0}", pageNumber2);
/*
This code produces the following output:
The value of the pageNumber1 variable is 1
The value of the pageNumber2 variable is 1
*/
Dim pageNumbers() As Integer = {}
' Setting the default value to 1 after the query.
Dim pageNumber1 As Integer = pageNumbers.SingleOrDefault()
If pageNumber1 = 0 Then
pageNumber1 = 1
End If
Console.WriteLine($"The value of the pageNumber1 variable is {pageNumber1}")
' Setting the default value to 1 by using DefaultIfEmpty() in the query.
Dim pageNumber2 As Integer = pageNumbers.DefaultIfEmpty(1).Single()
Console.WriteLine($"The value of the pageNumber2 variable is {pageNumber2}")
' This code produces the following output:
' The value of the pageNumber1 variable is 1
' The value of the pageNumber2 variable is 1
Açıklamalar
Başvuru ve null atanabilir türler için varsayılan değerdir null.
yöntemi, SingleOrDefault varsayılan bir değer belirtmek için bir yol sağlamaz. dışında default(TSource)bir varsayılan değer belirtmek istiyorsanız, Örnek bölümünde açıklandığı gibi yöntemini kullanın DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource) .
Şunlara uygulanır
SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)
- Kaynak:
- Single.cs
- Kaynak:
- Single.cs
- Kaynak:
- Single.cs
- Kaynak:
- Single.cs
- Kaynak:
- Single.cs
Belirtilen bir koşulu veya böyle bir öğe yoksa varsayılan değeri karşılayan bir dizinin tek öğesini döndürür; Bu yöntem, koşulu birden fazla öğe karşılarsa bir özel durum oluşturur.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static TSource SingleOrDefault(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, bool> ^ predicate);
public static TSource SingleOrDefault<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);
public static TSource? SingleOrDefault<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);
static member SingleOrDefault : seq<'Source> * Func<'Source, bool> -> 'Source
<Extension()>
Public Function SingleOrDefault(Of TSource) (source As IEnumerable(Of TSource), predicate As Func(Of TSource, Boolean)) As TSource
Tür Parametreleri
- TSource
öğelerinin sourcetürü.
Parametreler
- source
- IEnumerable<TSource>
Tek bir öğe döndürmek için bir IEnumerable<T>.
Döndürülenler
Koşulu karşılayan giriş dizisinin tek öğesi veya defaultböyle bir öğe bulunamazsa (TSource).
Özel durumlar
source veya predicate şeklindedir null.
predicateiçindeki koşulu birden fazla öğe karşılar.
Örnekler
Aşağıdaki kod örneği, bir dizideki koşulu karşılayan tek öğeyi seçmek için SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) nasıl kullanılacağını gösterir.
string[] fruits = { "apple", "banana", "mango",
"orange", "passionfruit", "grape" };
string fruit1 = fruits.SingleOrDefault(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 > 10.
Dim fruit1 As String =
fruits.SingleOrDefault(Function(fruit) fruit.Length > 10)
' Display the result.
Console.WriteLine($"First array: {fruit1}")
Aşağıdaki kod örneği, dizi koşulu karşılayan öğe içermediğinde varsayılan bir değer döndürdüğünü gösterir SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) .
string fruit2 =
fruits.SingleOrDefault(fruit => fruit.Length > 15);
Console.WriteLine(
String.IsNullOrEmpty(fruit2) ? "No such string!" : fruit2);
/*
This code produces the following output:
No such string!
*/
' Get the single item in the array whose length is > 15.
Dim fruit2 As String =
fruits.SingleOrDefault(Function(fruit) fruit.Length > 15)
' Display the result.
Dim output As String =
IIf(String.IsNullOrEmpty(fruit2), "No single item found", fruit2)
Console.WriteLine($"Second array: {output}")
' This code produces the following output:
'
' First array: passionfruit
' Second array: No single item found
Açıklamalar
Başvuru ve null atanabilir türler için varsayılan değerdir null.
Şunlara uygulanır
SingleOrDefault<TSource>(IEnumerable<TSource>, TSource)
- Kaynak:
- Single.cs
- Kaynak:
- Single.cs
- Kaynak:
- Single.cs
- Kaynak:
- Single.cs
- Kaynak:
- Single.cs
Bir dizinin tek öğesini veya dizi boşsa belirtilen varsayılan değeri döndürür; Bu yöntem, dizide birden fazla öğe varsa bir özel durum oluşturur.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static TSource SingleOrDefault(System::Collections::Generic::IEnumerable<TSource> ^ source, TSource defaultValue);
public static TSource SingleOrDefault<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, TSource defaultValue);
static member SingleOrDefault : seq<'Source> * 'Source -> 'Source
<Extension()>
Public Function SingleOrDefault(Of TSource) (source As IEnumerable(Of TSource), defaultValue As TSource) As TSource
Tür Parametreleri
- TSource
öğelerinin sourcetürü.
Parametreler
- source
- IEnumerable<TSource>
öğesinin tek öğesini döndürmek için bir IEnumerable<T>.
- defaultValue
- TSource
Dizi boşsa döndürülecek varsayılan değer.
Döndürülenler
Giriş dizisinin tek öğesi veya dizi öğe içermiyorsa defaultValue.
Özel durumlar
source, null'e eşittir.
Giriş dizisi birden fazla öğe içeriyor.
Şunlara uygulanır
SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>, TSource)
- Kaynak:
- Single.cs
- Kaynak:
- Single.cs
- Kaynak:
- Single.cs
- Kaynak:
- Single.cs
- Kaynak:
- Single.cs
Belirtilen koşulu karşılayan bir dizinin tek öğesini veya böyle bir öğe yoksa belirtilen varsayılan değeri döndürür; Bu yöntem, koşulu birden fazla öğe karşılarsa bir özel durum oluşturur.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static TSource SingleOrDefault(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, bool> ^ predicate, TSource defaultValue);
public static TSource SingleOrDefault<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate, TSource defaultValue);
static member SingleOrDefault : seq<'Source> * Func<'Source, bool> * 'Source -> 'Source
<Extension()>
Public Function SingleOrDefault(Of TSource) (source As IEnumerable(Of TSource), predicate As Func(Of TSource, Boolean), defaultValue As TSource) As TSource
Tür Parametreleri
- TSource
öğelerinin sourcetürü.
Parametreler
- source
- IEnumerable<TSource>
Tek bir öğe döndürmek için bir IEnumerable<T>.
- defaultValue
- TSource
Dizi boşsa döndürülecek varsayılan değer.
Döndürülenler
Koşulu karşılayan giriş dizisinin tek öğesi veya böyle bir öğe bulunamazsa defaultValue.
Özel durumlar
source veya predicate şeklindedir null.
predicateiçindeki koşulu birden fazla öğe karşılar.