首页 > 后端开发 > C++ > C# 的 Zip 函数如何简化同时迭代多个列表的过程?

C# 的 Zip 函数如何简化同时迭代多个列表的过程?

DDD
发布: 2025-01-04 19:51:10
原创
284 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板