Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengira Item dalam IEnumerable Tanpa Lelaran?

Bagaimanakah Saya Boleh Mengira Item dalam IEnumerable Tanpa Lelaran?

DDD
DDDasal
2024-12-27 10:11:16770semak imbas

How Can I Count Items in an IEnumerable Without Iteration?

Mengira Item dalam IEnumerable Tanpa Lelaran

Apabila bekerja dengan jujukan, selalunya perlu untuk menentukan jumlah bilangan elemen sebelum melelaran melaluinya. Walau bagaimanapun, IEnumerable tidak menyediakan mekanisme langsung untuk mengira item tanpa lelaran.

Mengira tanpa Lelaran

Untuk mencapai pengiraan item tanpa lelaran, pertimbangkan perkara berikut:

  • ICollection: Jika sumber data anda melaksanakan ICollection, anda boleh mengakses harta Countnya secara langsung. ICollection mewakili koleksi yang boleh dikira dengan cekap.

Contoh

Memandangkan sifat Jadual berikut:

private IEnumerable<string> Tables
{
    get
    {
        yield return "Foo";
        yield return "Bar";
    }
}

Tanpa lelaran, anda boleh menggunakan ICollection untuk mengira item:

var count = (Tables as ICollection<string>).Count;
Console.WriteLine($"You'll process {count} tables");

Nota:

  • Inumerable menekankan penilaian malas, bermakna unsur-unsur diambil hanya apabila diminta.
  • ICollection menyokong pengiraan terus kerana perwakilan kutipannya yang cekap. Pilih pilihan ini jika pengiraan item merupakan keperluan prestasi kritikal.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Item dalam IEnumerable Tanpa Lelaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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