Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menambah Item pada Koleksi IEnumerable?

Bagaimanakah Saya Boleh Menambah Item pada Koleksi IEnumerable?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-24 15:58:14447semak imbas

How Can I Add Items to an IEnumerable Collection?

Menambah Item pada IEnumerable Koleksi

Koleksi terbilang, diwakili oleh IEnumerable antara muka, menyediakan cara untuk mengulangi jujukan nilai tanpa mempunyai akses terus kepada koleksi itu sendiri. Tidak seperti Senarai, yang membenarkan pengubahsuaian dan penambahan item, IEnumerable koleksi sememangnya tidak mempunyai fungsi sedemikian.

Pertimbangkan contoh berikut:

IEnumerable<string> items = new string[] { "msg" };
items.ToList().Add("msg2");

Selepas melaksanakan kod ini, bilangan item dalam koleksi kekal pada satu. Ini kerana IEnumerable tidak mewakili koleksi boleh ubah. Ia hanya menyediakan cara untuk mengakses elemen secara berurutan.

Untuk mencapai gelagat yang diingini untuk menambah item pada IEnumerable koleksi, anda mesti menggunakan pendekatan yang mencipta IEnumerable objek dengan item yang dilampirkan disertakan. Satu cara untuk mencapainya ialah melalui kaedah Enumerable.Concat:

items = items.Concat(new[] { "foo" });

Barisan kod ini mencipta IEnumerable objek yang mengandungi semua elemen koleksi item asal, diikuti dengan item tambahan "foo." Objek baharu akan mencerminkan sebarang perubahan yang dibuat pada koleksi asal, memastikan anda sentiasa mempunyai perwakilan data yang terkini.

Adalah penting untuk ambil perhatian bahawa pendekatan ini tidak mengubah suai tatasusunan item asal. Sebaliknya, ia mencipta objek koleksi baharu yang menyediakan paparan data yang dikemas kini.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Item pada Koleksi IEnumerable?. 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