将两个列表与 C# 组合在一起

本文关键字:组合 在一起 列表 两个 | 更新日期: 2023-09-27 18:30:44

在OCaml中,有一个函数接受两个相同大小的列表并返回一个元组列表:

val combine : 'a list -> 'b list -> ('a * 'b) list

C# 中有类似的东西吗?

我对输出的类型没有强烈的要求。它可以是元组列表,也可以是字典之类的东西。

将两个列表与 C# 组合在一起

Enumerable.Zip扩展方法。第二个参数告诉方法如何处理每对元素。

IEnumerable<Tuple<int, int>> pairs = a.Zip(b, Tuple.Create);
IEnumerable<int> sums = a.Zip(b, (x, y) => x + y);

如果一个集合大于另一个集合,则将忽略较大集合的其余元素。