Queryable.Distinct 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 diziden ayrı öğeler döndürür.
Aşırı Yüklemeler
Distinct<TSource>(IQueryable<TSource>) |
Değerleri karşılaştırmak için varsayılan eşitlik karşılaştırıcısını kullanarak bir diziden ayrı öğeler döndürür. |
Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) |
Değerleri karşılaştırmak için belirtilen IEqualityComparer<T> öğesini kullanarak bir diziden ayrı öğeler döndürür. |
Distinct<TSource>(IQueryable<TSource>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Değerleri karşılaştırmak için varsayılan eşitlik karşılaştırıcısını kullanarak bir diziden ayrı öğeler döndürür.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable<TSource> ^ Distinct(System::Linq::IQueryable<TSource> ^ source);
public static System.Linq.IQueryable<TSource> Distinct<TSource> (this System.Linq.IQueryable<TSource> source);
static member Distinct : System.Linq.IQueryable<'Source> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Distinct(Of TSource) (source As IQueryable(Of TSource)) As IQueryable(Of TSource)
Tür Parametreleri
- TSource
öğelerinin source
türü.
Parametreler
- source
- IQueryable<TSource>
yinelenenleri IQueryable<T> kaldırılacak öğe.
Döndürülenler
IQueryable<T> öğesinden source
ayrı öğeler içeren bir.
Özel durumlar
source
, null
değeridir.
Örnekler
Aşağıdaki kod örneği, bir diziden ayrı öğeler döndürmek için nasıl kullanılacağını Distinct<TSource>(IQueryable<TSource>) gösterir.
List<int> ages = new List<int> { 21, 46, 46, 55, 17, 21, 55, 55 };
IEnumerable<int> distinctAges = ages.AsQueryable().Distinct();
Console.WriteLine("Distinct ages:");
foreach (int age in distinctAges)
Console.WriteLine(age);
/*
This code produces the following output:
Distinct ages:
21
46
55
17
*/
Dim ages As List(Of Integer) = New List(Of Integer)(New Integer() {21, 46, 46, 55, 17, 21, 55, 55})
Dim distinctAges As IEnumerable(Of Integer) = ages.AsQueryable().Distinct()
Dim output As New System.Text.StringBuilder
output.AppendLine("Distinct ages:")
For Each age As Integer In distinctAges
output.AppendLine(age)
Next
' Display the output.
MsgBox(output.ToString())
' This code produces the following output:
'
' Distinct(ages)
' 21
' 46
' 55
' 17
Açıklamalar
yöntemi, Distinct<TSource>(IQueryable<TSource>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Distinct<TSource>(IQueryable<TSource>) bir oluşturur. Ardından parametresinin MethodCallExpressionCreateQuery<TElement>(Expression) özelliği tarafından temsil edilen yöntemine IQueryProviderProvidersource
iletir.
Çağrıyı Distinct<TSource>(IQueryable<TSource>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source
bağlıdır. Beklenen davranış, içindeki benzersiz öğelerin sıralanmamış bir dizisini döndürmesidir source
.
Şunlara uygulanır
Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Değerleri karşılaştırmak için belirtilen IEqualityComparer<T> öğesini kullanarak bir diziden ayrı öğeler döndürür.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable<TSource> ^ Distinct(System::Linq::IQueryable<TSource> ^ source, System::Collections::Generic::IEqualityComparer<TSource> ^ comparer);
public static System.Linq.IQueryable<TSource> Distinct<TSource> (this System.Linq.IQueryable<TSource> source, System.Collections.Generic.IEqualityComparer<TSource> comparer);
public static System.Linq.IQueryable<TSource> Distinct<TSource> (this System.Linq.IQueryable<TSource> source, System.Collections.Generic.IEqualityComparer<TSource>? comparer);
static member Distinct : System.Linq.IQueryable<'Source> * System.Collections.Generic.IEqualityComparer<'Source> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Distinct(Of TSource) (source As IQueryable(Of TSource), comparer As IEqualityComparer(Of TSource)) As IQueryable(Of TSource)
Tür Parametreleri
- TSource
öğelerinin source
türü.
Parametreler
- source
- IQueryable<TSource>
yinelenenleri IQueryable<T> kaldırılacak öğe.
- comparer
- IEqualityComparer<TSource>
Değerleri karşılaştırmak için bir IEqualityComparer<T> .
Döndürülenler
IQueryable<T> öğesinden source
ayrı öğeler içeren bir.
Özel durumlar
source
veya comparer
şeklindedir null
.
Açıklamalar
yöntemi, Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) bir oluşturur. Ardından parametresinin MethodCallExpressionCreateQuery<TElement>(Expression) özelliği tarafından temsil edilen yöntemine IQueryProviderProvidersource
iletir.
Çağrıyı Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source
bağlıdır. Beklenen davranış, değerleri karşılaştırmak için kullanarak comparer
içindeki source
benzersiz öğelerin sıralanmamış bir sırasını döndürmesidir.