Queryable.Distinct Yöntem

Tanım

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<TSource>

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<TSource>

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.

Şunlara uygulanır