Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Fungsi Zip C# Boleh Memudahkan Lelaran Pada Berbilang Senarai Secara serentak?

Bagaimanakah Fungsi Zip C# Boleh Memudahkan Lelaran Pada Berbilang Senarai Secara serentak?

DDD
DDDasal
2025-01-04 19:51:10279semak imbas

How Can C#'s Zip Function Simplify Iterating Over Multiple Lists Simultaneously?

Menyalurkan Berbilang Senarai atau Tatasusunan Serentak: Fungsi Zip dalam C#

Untuk mengulang dengan cekap berbilang koleksi dengan satu pernyataan foreach tunggal, C# menyediakan fungsi Zip terbina dalam. Operasi ini telah tersedia sejak .NET 4 dan memudahkan proses menggandingkan elemen daripada jujukan berbeza.

Untuk menggunakan fungsi Zip, hanya gunakannya pada dua atau lebih koleksi. Sebagai contoh, pertimbangkan contoh berikut dengan dua senarai:

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

Menggunakan fungsi Zip, anda boleh mencipta jujukan baharu yang menggabungkan elemen daripada kedua-dua senarai, menghasilkan jujukan tupel:

var numbersAndWords = numbers.Zip(words, (n, w) => new { Number = n, Word = w });

Kini, anda boleh mengulangi urutan numbersAndWords menggunakan foreach gelung:

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

Ini akan mencetak nilai bercantum:

1one
2two
3three
4four

Sebagai alternatif, daripada menggunakan jenis tanpa nama dengan medan bernama, anda juga boleh menggunakan Tuple dan Tuple statiknya.Create pembantu:

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

Fungsi Zip menyediakan penyelesaian yang elegan dan cekap untuk mengulangi berbilang koleksi serentak dalam C#. Ia memudahkan proses menggabungkan elemen daripada jujukan yang berbeza, menjadikan kod lebih mudah dibaca dan diselenggara.

Atas ialah kandungan terperinci Bagaimanakah Fungsi Zip C# Boleh Memudahkan Lelaran Pada Berbilang Senarai Secara serentak?. 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