Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Operasi Zip C# Boleh Meningkatkan Lelaran Serentak Berbilang Senarai?
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!