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
| Name | Description |
|---|---|
| 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 farklı öğ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 farklı öğeler döndürür. |
Distinct<TSource>(IQueryable<TSource>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- 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 farklı öğ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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
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>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
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 sourcetürü.
Parametreler
- source
- IQueryable<TSource>
IQueryable<T> yinelenenleri kaldırmak için öğesini seçin.
Döndürülenler
IQueryable<T> öğesinden sourceayrı öğeler içeren bir.
- Öznitelikler
Özel durumlar
source, null'e eşittir.
Örnekler
Aşağıdaki kod örneği, bir diziden farklı öğ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 özelliği tarafından MethodCallExpression temsil edilen yöntemine CreateQuery<TElement>(Expression)IQueryProvider iletirProvider.source
Ç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
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Değerleri karşılaştırmak için belirtilen IEqualityComparer<T> öğesini kullanarak bir diziden farklı öğ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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
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>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
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 sourcetürü.
Parametreler
- source
- IQueryable<TSource>
IQueryable<T> yinelenenleri kaldırmak için öğesini seçin.
- comparer
- IEqualityComparer<TSource>
Değerleri karşılaştırmak için bir IEqualityComparer<T>.
Döndürülenler
IQueryable<T> öğesinden sourceayrı öğeler içeren bir.
- Öznitelikler
Ö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 özelliği tarafından MethodCallExpression temsil edilen yöntemine CreateQuery<TElement>(Expression)IQueryProvider iletirProvider.source
Ç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 source içindeki comparer benzersiz öğelerin sıralanmamış bir sırasını döndürmesidir.