c# - 3个IEnumerables到1个元组

标签 c# tuples ienumerable

我有 3 个整数的 IEnumerables,我想用它制作一个元组数组。最好的方法是什么?如果我只有 2 个 IEnumerable,我会使用 Zip,但在这种情况下?

最佳答案

这是直接使用迭代器最简单的场景,而不是foreach:

using(var i1 = seq1.GetEnumerator())
using(var i2 = seq2.GetEnumerator())
using(var i3 = seq3.GetEnumerator())
{
    while(i1.MoveNext() && i2.MoveNext() && i3.MoveNext())
    {
        var tuple = Tuple.Create(i1.Current, i2.Current, i3.Current);
        // ...
    }
}

这里的//...可以是:

  • yield 返回元组
  • someList.Add(tuple);
  • 或您想做的实际事情

关于c# - 3个IEnumerables到1个元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24572654/

相关文章:

c# - 具有公共(public)字段的不同类之间的 IEnumerable.Except()

c# - 动态更改 app.config 文件中的值

c# - 获取 "cannot assign to ' 回复'因为在 Outlook 加载项中添加事件时方法组

swift2 - Swift 2.0 元组,许多作业

c# - 元组==混淆

python - 从嵌套列表和元组列表中获取所有唯一字符串

c# - IEnumerable<T> 的实现

c# - 为什么迭代器方法不能采用 'ref' 或 'out' 参数?

c# - 机器人甚至在静态按钮上要求澄清

c# - 为什么 List<T> 不实现 IOrderedEnumerable<T>?