Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah LINQ Boleh Menentukan dengan Cekap jika Satu Tatasusunan ialah Subset daripada Satu Lagi?
Gunakan LINQ dengan cekap untuk menentukan hubungan antara subset tatasusunan
Menentukan sama ada tatasusunan ialah subset tatasusunan lain ialah tugas pengaturcaraan biasa. Di sini, subset merujuk kepada set yang kesemua elemennya terdapat dalam tatasusunan induk. Hubungan ini boleh ditentukan dengan cekap menggunakan kuasa LINQ (Language Integrated Query).
Andaikan kita mempunyai dua senarai:
<code>List<double> t1 = new List<double> { 1, 3, 5 }; List<double> t2 = new List<double> { 1, 5 };</code>
Matlamat kami ialah menggunakan LINQ untuk menentukan sama ada t2 ialah subset bagi t1.
Untuk melakukan ini, kita boleh menggunakan operator Except
untuk mengecualikan elemen dalam t1 yang tidak terdapat dalam t2. Jika senarai yang terhasil kosong, ini bermakna setiap elemen dalam t2 hadir dalam t1, menunjukkan bahawa t2 sememangnya subset bagi t1.
Ungkapan LINQ berikut merangkumi logik ini:
<code>bool isSubset = !t2.Except(t1).Any();</code>
Jika nilai isSubset
ialah true
, maka disahkan bahawa t2 ialah subset bagi t1. Sebaliknya, jika isSubset
ialah false
, maka t2 bukan subset bagi t1.
Dalam contoh kami, kerana setiap elemen dalam t2 (iaitu 1 dan 5) juga terdapat dalam t1, operasi Except
akan menghasilkan senarai kosong dan ungkapan akan menilai kepada true
, sekali gus mengesahkan t2 ialah subset daripada t1.
Atas ialah kandungan terperinci Bagaimanakah LINQ Boleh Menentukan dengan Cekap jika Satu Tatasusunan ialah Subset daripada Satu Lagi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!