C#koleksi: Perbandingan prestasi iEnumerable dan senarai dan amalan terbaik
Apabila memproses set dalam C#, pilih
atau adalah penting untuk prestasi dan kecekapan. Walaupun kedua -duanya mewakili urutan elemen, kaedah pelaksanaan sangat berbeza. IEnumerable
List
adalah antara muka yang mentakrifkan tingkah laku urutan elemen. Ia menyediakan operasi elemen urutan traversal, tetapi tidak perlu memuatkan keseluruhan urutan ke ingatan. Ini membolehkan kecekapan tinggi untuk mengendalikan set data yang besar kerana data ditangguhkan.
Senarai: Kelas Koleksi Khusus IEnumerable
Gunakan adegan
Pilih atau List
, sila pertimbangkan garis panduan berikut:
menggunakan keadaan:
perlu mengendalikan dataset besar dan pemprosesan kelewatan.
IEnumerable
mahu mengelakkan overhead urutan ke ingatan. List
IEnumerable
List
Pertimbangkan pertanyaan LINQ berikut:
Gunakan untuk membenarkan kelewatan untuk mencari pertanyaan nilai. Jika digunakan untuk menghasilkan secara khusus, ia akan memberi mandat keseluruhan urutan ke memori, yang boleh menjejaskan prestasi. IEnumerable
List
lebih banyak sumber IEnumerable
dokumen MSDN
<code class="language-csharp">IEnumerable<animal> sel = (from animal in Animals join race in Species on animal.SpeciesKey equals race.SpeciesKey select animal).Distinct();</code>
IEnumerable
ToList()
Atas ialah kandungan terperinci IEnumerable vs. List dalam C#: Bilakah saya harus menggunakan yang untuk prestasi yang optimum?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!