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
DDDasal
2024-12-31 09:23:10485semak imbas

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 });

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);
}

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);
}

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!

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