Queryable.Distinct Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Különböző elemeket ad vissza egy sorozatból.
Túlterhelések
| Name | Description |
|---|---|
| Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) |
Különböző elemeket ad vissza egy sorozatból egy megadott IEqualityComparer<T> érték összehasonlítása gombra kattintva. |
| Distinct<TSource>(IQueryable<TSource>) |
Az értékek összehasonlításához az alapértelmezett egyenlőség-összehasonlítóval különböző elemeket ad vissza egy sorozatból. |
Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>)
- Forrás:
- Queryable.cs
- Forrás:
- Queryable.cs
- Forrás:
- Queryable.cs
- Forrás:
- Queryable.cs
- Forrás:
- Queryable.cs
Különböző elemeket ad vissza egy sorozatból egy megadott IEqualityComparer<T> érték összehasonlítása gombra kattintva.
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ípusparaméterek
- TSource
A . elemeinek sourcetípusa.
Paraméterek
- source
- IQueryable<TSource>
Az IQueryable<T> ismétlődések eltávolításához.
- comparer
- IEqualityComparer<TSource>
Egy IEqualityComparer<T> érték összehasonlítása.
Válaszok
Olyan IQueryable<T> elem, amely különböző elemeket tartalmaz a .-tól source.
- Attribútumok
Kivételek
source vagy comparer az null.
Megjegyzések
A Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) metódus létrehoz egy olyan metódust MethodCallExpression , amely önmagát generált általános metódusként jeleníti Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) meg. Ezután átadja a MethodCallExpression paraméter tulajdonsága által CreateQuery<TElement>(Expression) képviselt metódusnak IQueryProviderProvider.source
A meghívást Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) jelképező kifejezésfa végrehajtása során előforduló lekérdezési viselkedés a paraméter típusának source implementálásától függ. A várt viselkedés az, hogy az értékek összehasonlításával az egyedi elemek sourcecomparer rendezetlen sorozatát adja vissza.
A következőre érvényes:
Distinct<TSource>(IQueryable<TSource>)
- Forrás:
- Queryable.cs
- Forrás:
- Queryable.cs
- Forrás:
- Queryable.cs
- Forrás:
- Queryable.cs
- Forrás:
- Queryable.cs
Az értékek összehasonlításához az alapértelmezett egyenlőség-összehasonlítóval különböző elemeket ad vissza egy sorozatból.
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ípusparaméterek
- TSource
A . elemeinek sourcetípusa.
Paraméterek
- source
- IQueryable<TSource>
Az IQueryable<T> ismétlődések eltávolításához.
Válaszok
Olyan IQueryable<T> elem, amely különböző elemeket tartalmaz a .-tól source.
- Attribútumok
Kivételek
source az null.
Példák
Az alábbi példakód bemutatja, hogyan lehet Distinct<TSource>(IQueryable<TSource>) különböző elemeket visszaadni egy sorozatból.
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
Megjegyzések
A Distinct<TSource>(IQueryable<TSource>) metódus létrehoz egy olyan metódust MethodCallExpression , amely önmagát generált általános metódusként jeleníti Distinct<TSource>(IQueryable<TSource>) meg. Ezután átadja a MethodCallExpression paraméter tulajdonsága által CreateQuery<TElement>(Expression) képviselt metódusnak IQueryProviderProvider.source
A meghívást Distinct<TSource>(IQueryable<TSource>) jelképező kifejezésfa végrehajtása során előforduló lekérdezési viselkedés a paraméter típusának source implementálásától függ. A várt viselkedés az, hogy a függvény az egyedi elemek rendezetlen sorozatát adja vissza a következőben source: .