如何组合 2 个集合,使结果集合交替包含两个集合中的值
例子:- Col A= [1,2,3,4] Col B= [5,6,7,8]
结果 Col C=[1,5,2,6,3,7,4,8]
请您参考如下方法:
有很多方法可以做到这一点,具体取决于输入类型和所需的输出类型。但是,我不知道有任何库方法;你必须“自己动手”。
一种可能性是 linq 风格的迭代器方法,假设我们对输入集合的了解是它们实现了 IEnumerable<T>。 :
static IEnumerable<T> Interleave(this IEnumerable<T> a, IEnumerable<T> b)
{
bool bEmpty = false;
using (var enumeratorB b.GetEnumerator())
{
foreach (var elementA in a)
{
yield return elementA;
if (!bEmpty && bEnumerator.MoveNext())
yield return bEnumerator.Current;
else
bEmpty = true;
}
if (!bEmpty)
while (bEnumerator.MoveNext())
yield return bEnumerator.Current;
}
}
