Rumah > pembangunan bahagian belakang > C++ > IEnumerable vs. List dalam C#: Bilakah anda harus memilih yang mana?

IEnumerable vs. List dalam C#: Bilakah anda harus memilih yang mana?

Mary-Kate Olsen
Lepaskan: 2025-01-29 04:46:14
asal
955 orang telah melayarinya

IEnumerable vs. List in C#: When Should You Choose Which?

perbezaan dan kesan prestasi iEnumerable dan senarai dalam C#

Apabila merawat koleksi di C#, perbezaan antara

dan

sangat penting. IEnumerable mewakili pengarang, yang menyediakan kaedah untuk melintasi koleksi; List IEnumerable Pertimbangkan dua pertanyaan LINQ berikut: List IEnumerable

Prinsip kerja enumerator

<code class="language-csharp">List<animal> sel1 = (from animal in Animals 
                    join race in Species
                    on animal.SpeciesKey equals race.SpeciesKey
                    select animal).Distinct().ToList();

IEnumerable<animal> sel2 = (from animal in Animals 
                           join race in Species
                           on animal.SpeciesKey equals race.SpeciesKey
                           select animal).Distinct();</code>
Salin selepas log masuk
Apabila menggunakan , debugging akan menunjukkan ahli seperti "dalaman" dan "luar", yang mungkin mengelirukan. Ahli "Inner" termasuk objek dari set sambungan (spesies), dan ahli "luar" termasuk objek dari set awal (haiwan). Pertanyaan menggunakan ahli -ahli ini untuk melaksanakan operasi sambungan.

Pertimbangan Prestasi

dari segi prestasi, IEnumerable biasanya lebih disukai kerana ia ditangguhkan sehingga pertanyaan penghitungan. Menggunakan akan dipaksa untuk mengira dan hasil tertentu dengan segera, yang mungkin mengehadkan peluang pengoptimuman.

Gunakan adegan

IEnumerable Berkenaan dengan situasi berikut: ToList()

mahu melambatkan pelaksanaan sehingga kemudian. List

mahu mengoptimumkan prestasi pertanyaan.

Pelbagai lelaran mungkin diperlukan.

Berkenaan dengan situasi berikut: IEnumerable

    Anda perlu menghalang pertanyaan daripada dilaksanakan berkali -kali.
  • mahu menggunakan objek koleksi tertentu.
  • perlu mengakses ahli yang tidak tersedia.
Kesimpulan

List

Pemilihan antara dan
    bergantung kepada keperluan khusus permohonan. Untuk pelaksanaan yang ditangguhkan dan pengoptimuman prestasi, sila gunakan
  • ;

Atas ialah kandungan terperinci IEnumerable vs. List dalam C#: Bilakah anda harus memilih yang mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan