首页 > 解决方案 > 从 3 个列表创建一个元组列表

问题描述

我有 3 个类型的变量IEnumerable<Decimal?> a:bc.

如何创建IEnumerable<Tuple<Decimal?, Decimal?, Decimal?>元组的项目所在的位置ab以及c

使用以下创建 3 个列表而不是元组列表:

(a, b, c)

标签: c#

解决方案


您可以使用Zip

IEnumerable<(Decimal? a, Decimal? b, Decimal? c)> list 
    = a.Zip(b, (a, b) => (a, b)).Zip(c, (ab, c) => (ab.a, ab.b, c));

现在您可以使用其名称访问每个小数:

foreach(var abc in list)
{
    Console.WriteLine("a: " + abc.a);
    Console.WriteLine("b: " + abc.b);
    Console.WriteLine("c: " + abc.c);
    Console.WriteLine();
}

推荐阅读