Skip to main content
 首页 » 编程设计

c#之合并 2 个集合

2024年02月02日26thcjp

如何组合 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; 
    } 
}