本文介绍了3 IEnumerables成1个元组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I've got 3 IEnumerables of integers and I would like to make an array of Tuple out of it. What's the best approach? If I had just 2 IEnumerables I would use Zip but in this case?

推荐答案

在这种情况下,最直接使用迭代器而不是 foreach 的情况是最简单的:

This is a scenario where it is easiest to use the iterator directly, rather than 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);
        // ...
    }
}

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

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

这篇关于3 IEnumerables成1个元组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-23 16:22