Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Operasi Zip C# Boleh Meningkatkan Lelaran Serentak Berbilang Senarai?

Bagaimanakah Operasi Zip C# Boleh Meningkatkan Lelaran Serentak Berbilang Senarai?

DDD
Lepaskan: 2024-12-31 09:23:10
asal
495 orang telah melayarinya

How Can C#'s Zip Operation Enhance Simultaneous Iteration of Multiple Lists?

Lelaran Berbilang Senarai Serentak dengan Enhanced ForEach dalam C#

Meningkatkan keupayaan pernyataan foreach, C# menyediakan penyelesaian yang mudah untuk lelaran melalui berbilang senarai atau tatasusunan serentak. Teknik lanjutan ini, yang dikenali sebagai operasi Zip, membawa kecekapan dan fleksibiliti yang lebih besar kepada tugas pengaturcaraan.

Memahami Operasi Zip

Operasi Zip, yang diperkenalkan dalam .NET 4, membolehkan pembangun menggabungkan elemen daripada berbilang jujukan menjadi pasangan. Ini memberi kuasa kepada pengaturcara untuk mengulangi pasangan ini, mengakses elemen yang sepadan daripada setiap senarai.

Menggunakan Zip pada Senarai Lelaran

Untuk menunjukkan kepraktisannya, mari kita pertimbangkan contoh:

var numbers = new [] { 1, 2, 3, 4 };
var words = new [] { "one", "two", "three", "four" };

// Zip pairs numbers and words into a sequence of anonymous types
var numbersAndWords = numbers.Zip(words, (n, w) => new { Number = n, Word = w });
Salin selepas log masuk

Dengan kod ini, anda mencipta urutan bernama numbersAndWords, yang mengandungi jenis tanpa nama dengan dua sifat bernama: Nombor dan Perkataan. Setiap item dalam jujukan mewakili sepasang elemen yang sepadan daripada senarai nombor dan perkataan.

Lelaran dengan Enhanced ForEach

Setelah jujukan dibuat, anda boleh menggunakan foreach pernyataan untuk berulang ke atas pasangan:

foreach(var nw in numbersAndWords)
{
    Console.WriteLine(nw.Number + nw.Word);
}
Salin selepas log masuk

Gelung ini akan berulang pada setiap pasangan item, mengakses kedua-dua nombor dan perkataan daripada senarai masing-masing.

Sintaks Zip Alternatif

Selain menggunakan jenis tanpa nama, anda juga boleh menggunakan tupel untuk memekatkan kod anda :

foreach (var nw in numbers.Zip(words, Tuple.Create))
{
    Console.WriteLine(nw.Item1 + nw.Item2);
}
Salin selepas log masuk

Pendekatan ini menggunakan Tuple statik.Buat kaedah pembantu untuk mencipta tupel tanpa pendakap eksplisit. Walau bagaimanapun, adalah penting untuk diingat bahawa unsur tuple akan diindeks menggunakan Item1 dan Item2, memerlukan perhatian sedar terhadap pesanannya.

Atas ialah kandungan terperinci Bagaimanakah Operasi Zip C# Boleh Meningkatkan Lelaran Serentak Berbilang Senarai?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan