Queryable.Except 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.
Menghasilkan perbedaan yang ditetapkan dari dua urutan.
Overload
Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) |
Menghasilkan perbedaan yang ditetapkan dari dua urutan dengan menggunakan perbandingan kesetaraan default untuk membandingkan nilai. |
Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Menghasilkan perbedaan yang ditetapkan dari dua urutan dengan menggunakan yang ditentukan untuk membandingkan IEqualityComparer<T> nilai. |
Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>)
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
Menghasilkan perbedaan yang ditetapkan dari dua urutan dengan menggunakan perbandingan kesetaraan default untuk membandingkan nilai.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable<TSource> ^ Except(System::Linq::IQueryable<TSource> ^ source1, System::Collections::Generic::IEnumerable<TSource> ^ source2);
public static System.Linq.IQueryable<TSource> Except<TSource> (this System.Linq.IQueryable<TSource> source1, System.Collections.Generic.IEnumerable<TSource> source2);
static member Except : System.Linq.IQueryable<'Source> * seq<'Source> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Except(Of TSource) (source1 As IQueryable(Of TSource), source2 As IEnumerable(Of TSource)) As IQueryable(Of TSource)
Jenis parameter
- TSource
Jenis elemen urutan input.
Parameter
- source1
- IQueryable<TSource>
Elemen IQueryable<T> yang tidak juga ada di source2
akan dikembalikan.
- source2
- IEnumerable<TSource>
Elemen IEnumerable<T> yang juga terjadi dalam urutan pertama tidak akan muncul dalam urutan yang dikembalikan.
Mengembalikan
Yang IQueryable<T> berisi perbedaan yang ditetapkan dari dua urutan.
Pengecualian
source1
atau source2
adalah null
.
Contoh
Contoh kode berikut menunjukkan cara menggunakan Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) untuk mengembalikan elemen-elemen yang hanya muncul dalam urutan sumber pertama.
double[] numbers1 = { 2.0, 2.1, 2.2, 2.3, 2.4, 2.5 };
double[] numbers2 = { 2.2 };
// Get the numbers from the first array that
// are NOT in the second array.
IEnumerable<double> onlyInFirstSet =
numbers1.AsQueryable().Except(numbers2);
foreach (double number in onlyInFirstSet)
Console.WriteLine(number);
/*
This code produces the following output:
2
2.1
2.3
2.4
2.5
*/
Dim numbers1() As Double = {2.0, 2.1, 2.2, 2.3, 2.4, 2.5}
Dim numbers2() As Double = {2.2}
' Get the numbers from the first array that
' are NOT in the second array.
Dim onlyInFirstSet As IEnumerable(Of Double) = _
numbers1.AsQueryable().Except(numbers2)
Dim output As New System.Text.StringBuilder
For Each number As Double In onlyInFirstSet
output.AppendLine(number)
Next
' Display the output.
MsgBox(output.ToString())
' This code produces the following output:
'
' 2
' 2.1
' 2.3
' 2.4
' 2.5
Keterangan
Metode ini Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) menghasilkan MethodCallExpression yang mewakili pemanggilan Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke CreateQuery<TElement>(Expression) metode dari yang IQueryProvider diwakili oleh Provider propertisource1
parameter .
Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) tergantung pada implementasi jenis source1
parameter. Perilaku yang diharapkan adalah bahwa semua elemen di source1
dikembalikan kecuali untuk yang juga ada di source2
.
Berlaku untuk
Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
Menghasilkan perbedaan yang ditetapkan dari dua urutan dengan menggunakan yang ditentukan untuk membandingkan IEqualityComparer<T> nilai.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable<TSource> ^ Except(System::Linq::IQueryable<TSource> ^ source1, System::Collections::Generic::IEnumerable<TSource> ^ source2, System::Collections::Generic::IEqualityComparer<TSource> ^ comparer);
public static System.Linq.IQueryable<TSource> Except<TSource> (this System.Linq.IQueryable<TSource> source1, System.Collections.Generic.IEnumerable<TSource> source2, System.Collections.Generic.IEqualityComparer<TSource> comparer);
public static System.Linq.IQueryable<TSource> Except<TSource> (this System.Linq.IQueryable<TSource> source1, System.Collections.Generic.IEnumerable<TSource> source2, System.Collections.Generic.IEqualityComparer<TSource>? comparer);
static member Except : System.Linq.IQueryable<'Source> * seq<'Source> * System.Collections.Generic.IEqualityComparer<'Source> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Except(Of TSource) (source1 As IQueryable(Of TSource), source2 As IEnumerable(Of TSource), comparer As IEqualityComparer(Of TSource)) As IQueryable(Of TSource)
Jenis parameter
- TSource
Jenis elemen urutan input.
Parameter
- source1
- IQueryable<TSource>
Elemen IQueryable<T> yang tidak juga ada di source2
akan dikembalikan.
- source2
- IEnumerable<TSource>
Elemen IEnumerable<T> yang juga terjadi dalam urutan pertama tidak akan muncul dalam urutan yang dikembalikan.
- comparer
- IEqualityComparer<TSource>
IEqualityComparer<T> Untuk membandingkan nilai.
Mengembalikan
Yang IQueryable<T> berisi perbedaan yang ditetapkan dari dua urutan.
Pengecualian
source1
atau source2
adalah null
.
Keterangan
Metode ini Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) menghasilkan MethodCallExpression yang mewakili pemanggilan Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke CreateQuery<TElement>(Expression) metode dari yang IQueryProvider diwakili oleh Provider propertisource1
parameter .
Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) tergantung pada implementasi jenis source1
parameter. Perilaku yang diharapkan adalah bahwa semua elemen di source1
dikembalikan kecuali yang juga ada di source2
, dan comparer
digunakan untuk membandingkan nilai.