Merge multiple lists with variable length “popping” elements from each

后端 未结 7 845
被撕碎了的回忆
被撕碎了的回忆 2020-12-21 08:30

I\'d like to sort multiple lists (variable number of them) into single list, but keeping the specific order. For example:

List A: { 1,2,3,4,5 }
List B: { 6,7         


        
7条回答
  •  被撕碎了的回忆
    2020-12-21 08:48

    For more flexible use

     public static string MergeArrays(params IList[] items)
        {
    
            var result = new List();
            for (var i = 0; i < items.Max(x => x.Count); i++)
                result.AddRange(from rowList in items where rowList.Count > i select rowList[i]);
    
            return string.Join(",", result);
        }
    

    .

            var a = new List() { 1, 2, 3, 4, 5 };
            var b = new List() { 6, 7, 8 };
            var c = new List() { 9, 10, 11, 12, 0, 2, 1 };
    
            var r = MergeArrays(a, b, c);
    

提交回复
热议问题