Queryable.Distinct Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengembalikan elemen yang berbeda dari urutan.
Overload
Distinct<TSource>(IQueryable<TSource>) |
Mengembalikan elemen yang berbeda dari urutan dengan menggunakan perbandingan kesetaraan default untuk membandingkan nilai. |
Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) |
Mengembalikan elemen yang berbeda dari urutan dengan menggunakan yang ditentukan untuk membandingkan IEqualityComparer<T> nilai. |
Distinct<TSource>(IQueryable<TSource>)
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
Mengembalikan elemen yang berbeda dari urutan dengan menggunakan perbandingan kesetaraan default untuk membandingkan nilai.
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)
Jenis parameter
- TSource
Jenis elemen source
.
Parameter
- source
- IQueryable<TSource>
IQueryable<T> untuk menghapus duplikat dari.
Mengembalikan
Yang IQueryable<T> berisi elemen berbeda dari source
.
Pengecualian
source
adalah null
.
Contoh
Contoh kode berikut menunjukkan cara menggunakan Distinct<TSource>(IQueryable<TSource>) untuk mengembalikan elemen yang berbeda dari urutan.
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
Keterangan
Metode ini Distinct<TSource>(IQueryable<TSource>) menghasilkan MethodCallExpression yang mewakili pemanggilan Distinct<TSource>(IQueryable<TSource>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke CreateQuery<TElement>(Expression) metode dari yang IQueryProvider diwakili oleh Provider properti source
parameter .
Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Distinct<TSource>(IQueryable<TSource>) tergantung pada implementasi jenis source
parameter. Perilaku yang diharapkan adalah mengembalikan urutan item unik yang tidak diurutkan di source
.
Berlaku untuk
Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>)
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
Mengembalikan elemen yang berbeda dari urutan dengan menggunakan yang ditentukan untuk membandingkan IEqualityComparer<T> nilai.
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)
Jenis parameter
- TSource
Jenis elemen source
.
Parameter
- source
- IQueryable<TSource>
IQueryable<T> untuk menghapus duplikat dari.
- comparer
- IEqualityComparer<TSource>
IEqualityComparer<T> Untuk membandingkan nilai.
Mengembalikan
Yang IQueryable<T> berisi elemen berbeda dari source
.
Pengecualian
source
atau comparer
adalah null
.
Keterangan
Metode ini Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) menghasilkan MethodCallExpression yang mewakili pemanggilan Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke CreateQuery<TElement>(Expression) metode dari yang IQueryProvider diwakili oleh Provider properti source
parameter .
Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) tergantung pada implementasi jenis source
parameter. Perilaku yang diharapkan adalah mengembalikan urutan item unik yang tidak diurutkan dengan source
menggunakan comparer
untuk membandingkan nilai.