首頁 >後端開發 >C++ >C# 的 Zip 函數如何簡化同時迭代多個列表的過程?

C# 的 Zip 函數如何簡化同時迭代多個列表的過程?

DDD
DDD原創
2025-01-04 19:51:10281瀏覽

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

同時迭代多個列表或陣列:C# 中的Zip 函數

為了使用單一foreach 語句有效地迭代多個集合,C#提供了內建Zip 功能。此操作自 .NET 4 起可用,並簡化了將不同序列中的元素配對的過程。

要使用 Zip 函數,只需在兩個或多個集合上呼叫它即可。例如,考慮以下包含兩個清單的範例:

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

使用Zip 函數,您可以建立一個組合兩個清單中的元素的新序列,從而產生元組序列:

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

現在,您可以使用foreach 循環來迭代numbersAndWords序列:

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

這將列印連接值:

1one
2two
3three
4four

或者,您也可以使用 Tuple 及其靜態 Tuple,而不是使用帶有命名欄位的匿名類型。創建助手:

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

Zip 函數提供了一個優雅且高效的解決方案,用於在 C# 中同時迭代多個集合。它簡化了組合不同序列元素的過程,使程式碼更具可讀性和可維護性。

以上是C# 的 Zip 函數如何簡化同時迭代多個列表的過程?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn