Dalam artikel ini, kita akan belajar cara menulis program C# untuk mencari nombor genap negatif daripada senarai objek menggunakan LINQ.
Mari berikan gambaran ringkas tentang bahasa tersebut. Bahasa pengaturcaraan C# kerap digunakan untuk membangunkan aplikasi desktop, web dan mudah alih. Memproses sejumlah besar data boleh menjadi sukar menggunakan mana-mana bahasa pengaturcaraan. Mencari titik data yang memenuhi set keperluan tertentu atau menapis nilai tertentu adalah aktiviti biasa apabila bekerja dengan data. Ciri Pertanyaan Bersepadu Bahasa (LINQ) C# boleh digunakan untuk memudahkan dan meningkatkan pemprosesan data. Pembangun boleh menanyakan data dengan cepat daripada pelbagai sumber, termasuk tatasusunan, koleksi dan pangkalan data. Ia membolehkan pembangun menggunakan sintaks yang setara dengan SQL (Bahasa Pertanyaan Berstruktur) dan menyokong manipulasi dan pengisihan data yang mudah. Memandangkan sintaks LINQ adalah serupa dengan SQL, pembangun boleh mempelajari dan menggunakannya dengan mudah.
Dalam artikel ini, kami akan menunjukkan cara mencari nombor berganda negatif daripada senarai objek menggunakan LINQ. Untuk mencari nombor berganda negatif daripada senarai ini menggunakan LINQ, kita perlu melakukan langkah berikut -
Tapis nilai pendua dari senarai.
Tapis nilai berganda negatif daripada senarai.
Kita boleh mencapai ini dengan menggabungkan fungsi Where() dengan kaedah OfType(). Mari perkenalkan mereka satu persatu dan sintaks mereka -
OfType() digunakan untuk menapis elemen IEnumerable mengikut jenis yang diberikan. Dalam erti kata lain, kaedah ini digunakan untuk menapis senarai atau sumber urutan berdasarkan sama ada ia mempunyai keupayaan untuk menukar koleksi item kepada jenis tertentu. Jika sumber yang dibekalkan adalah batal, pengecualian ArgumentNullException dilemparkan.
public static System.Collections.Generic.IEnumerable<TResult> OfType<TResult>(this System.Collections.IEnumerable source);
Gunakan kaedah Where() untuk menapis nilai berdasarkan fungsi predikat. Ia juga boleh dikatakan bahawa ia mengembalikan nilai dalam urutan atau senarai berdasarkan syarat atau keperluan tertentu.
Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)
Mari kita buat senarai yang mengandungi objek jenis data yang berbeza.
Input List: { 3.14, -2.71, "hello", 0, “-7.5”, "world", -4.2, ‘a’, -3}
Kami telah mendapat senarai elemen dengan jenis data yang berbeza. Keluaran kini hanya akan mengandungi dua kali ganda negatif.
Output: {-2.71, -4.2}
Mari kita fahami
Langkah 1 - Buat senarai objek
List<object> list = new List<object>()
Langkah 2 - Pilih nilai berganda daripada senarai.
Kami boleh menggunakan kaedah OfType
var doubles = list.OfType<double>();
Langkah 3 - Daripada nilai berganda yang dipilih dalam senarai, pilih nilai berganda negatif. Penapis mesti digunakan untuk menapis nilai berganda negatif daripada koleksi. Ini boleh dicapai menggunakan kaedah LINQ Where(). Kaedah ini, selepas menggunakan penapis pada koleksi, hanya mengembalikan elemen yang sepadan dengan penapis. Dalam kes ini, kami hanya mahu menapis nilai berganda negatif dalam koleksi. Inilah cara untuk menggunakan teknik ini.
var negativeDoubles = doubles.Where(d => d < 0);
Langkah 4 - Akhir sekali, cetak double negatif menggunakan gelung foreach.
foreach (var d in doubles) { Console.WriteLine(d); }
Ini adalah langkah mudah untuk mendapatkan nombor negatif daripada senarai. Mari kita lihat kodnya.
using System; using System.Collections.Generic; using System.Linq; class Program { static void Main(string[] args) { List<object> list = new List<object> { -2,3.14, -2.71, "hello", 0,"-7.5" , "world", -4.2 }; var doubles = list.OfType<double>().Where(d => d < 0); foreach (var d in doubles) { Console.WriteLine(d); } } }
Output kod di atas ialah -
-2.71 -4.2
Nota − Anda mungkin tertanya-tanya mengapa -2 dan -7.5 tidak disebut di sini. Ini kerana -2 ialah nombor negatif, tetapi bukan dua kali ganda. Dan -7.5 ditulis sebagai "-7.5", yang dianggap sebagai rentetan.
Dalam artikel ini, kami menunjukkan cara menggunakan LINQ dalam C# untuk mencari nombor berganda negatif daripada senarai objek. Kami menggunakan dua kaedah Where() dan OfType() untuk menulis kod. Kami membincangkan secara ringkas kaedah Where() dan OfType(). Penyataan masalah dijelaskan dengan contoh. Selepas kita membincangkan algoritma. Akhirnya, kod dan output ditunjukkan. Kami berharap artikel ini membantu anda meningkatkan pengetahuan dan pemahaman anda tentang topik ini.
Atas ialah kandungan terperinci Program C# untuk mencari nombor berganda negatif daripada senarai objek menggunakan LINQ. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!