Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mendapatkan Bilangan Elemen dalam IEnumerable Tanpa Lelaran Eksplisit?

Bagaimanakah Saya Boleh Mendapatkan Bilangan Elemen dalam IEnumerable Tanpa Lelaran Eksplisit?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-31 01:46:09460semak imbas

How Can I Get the Count of Elements in an IEnumerable Without Explicit Iteration?

Cara Mengira Elemen dalam IEnumerable Tanpa Lelaran?

Memahami Isu

Bayangkan anda mempunyai IEnumerable dinamakan Jadual yang menjana dua rentetan: "Foo" dan "Bar." Anda ingin mengetahui kiraan elemen ini terlebih dahulu tanpa mengulanginya. Walau bagaimanapun, antara muka IEnumerable tidak semestinya menyediakan fungsi ini.

Sifat Malas IEnumerable

IEnumerable mengikut mekanisme penilaian yang malas, yang bermaksud ia hanya mendapatkan semula elemen apabila diminta. Pendekatan malas ini meningkatkan prestasi dengan menangguhkan pengiraan sehingga perlu. Akibatnya, tiada sifat kiraan terbina dalam untuk antara muka ini.

Penyelesaian: Menggunakan ICollection atau Count() untuk IEnumerable

Jika anda memerlukan kiraan elemen tanpa lelaran, pertimbangkan untuk menggunakan ICollection antara muka sebaliknya. ICollection mempunyai sifat Count yang memberikan maklumat yang diperlukan serta-merta.

Sebagai alternatif, jika anda mempunyai IEnumerable tetapi mampu membeli satu lelaran, anda boleh menggunakan kaedah sambungan Count(). Count() mendapatkan semula bilangan elemen melalui satu lelaran lengkap.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Bilangan Elemen dalam IEnumerable Tanpa Lelaran Eksplisit?. 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