Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mencipta dan Menggunakan Kepingan Array dengan Cekap dalam C#?
Gunakan penghirisan tatasusunan C# dengan cekap
Dalam pengaturcaraan C#, penghirisan tatasusunan merujuk kepada operasi mengekstrak subset elemen berturut-turut daripada tatasusunan sedia ada. Ciri ini sering digunakan untuk mengasingkan bahagian tertentu data untuk pemprosesan atau analisis.
Buat kepingan tatasusunan
Untuk mencipta kepingan tatasusunan dalam C#, anda boleh menggunakan kaedah berikut:
<code class="language-csharp">byte[] byteArray = new byte[4096]; var slice = new ArraySegment<byte>(byteArray, 0, 40);</code>
Dalam contoh ini:
byteArray
ialah tatasusunan asal dari mana kami ingin mengekstrak kepingan. new ArraySegment<byte>(..., ..., ...)
ialah pembina yang mencipta objek ArraySegment
baharu. byteArray
: tatasusunan asal. 0
: Indeks permulaan hirisan. 40
: Bilangan unsur dalam kepingan. mengandungi rujukan kepada byteArray
asal, serta maklumat tentang indeks permulaan dan panjang kepingan. Yang penting, data tatasusunan tidak disalin.
ArraySegmen: Ciri dan Faedah
KelasArraySegment
menyediakan beberapa ciri dan faedah utama:
ArraySegment
Objek adalah ringan dan cekap kerana ia tidak menyalin data tatasusunan asas. ArraySegment
mempunyai kaedah dan jenis generik yang boleh digunakan untuk memanipulasi tatasusunan. ArraySegment
memegang rujukan kepada tatasusunan asal, membolehkan anda mengakses dan mengubah suai data asas secara terus. Gunakan penghirisan tatasusunan
Selepas mencipta kepingan tatasusunan, anda boleh menggunakannya sebagai koleksi boleh lelar:
<code class="language-csharp">foreach (byte b in slice) { // 对字节执行某些操作 }</code>
Ini membolehkan anda memproses elemen dalam kepingan tanpa membuat tatasusunan berasingan.
Nota: Walaupun C# tidak mempunyai sintaks khusus untuk penghirisan tatasusunan seperti Perl @bar = @foo[0..40]
, kelas ArraySegment
menyediakan cara yang berkuasa dan cekap untuk mencapai fungsi yang sama.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta dan Menggunakan Kepingan Array dengan Cekap dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!