C# list二维数组内部元素合并(linq 之zip)


最近碰到一个问题,原题如下:

List<List<string>> zipList = new List<List<string>>{
                new List<string>{"a","b","c","d"},
                new List<string>{"1","2","3","4"},
                new List<string>{"A","B","C","D"},
                new List<string>{"一","二","三","四"},

            };  需要返回的结果 a1A一,b2B二,c3C三,d4D四

一开始拿到这个题有点蒙,仔细看题后灵光一闪,其实这个题主要是考linq的zip方法,详细方法如下:

List<string> resuList = new List<string>();
            List<List<string>> zipList = new List<List<string>>{
                new List<string>{"a","b","c","d"},
                new List<string>{"1","2","3","4"},
                new List<string>{"A","B","C","D"},
                new List<string>{"一","二","三","四"},

            };
            for (int i = 0; i < zipList.Count; i++)
            {
                if (i == 0)
                {
                    resuList = zipList[i];
                }
                else
                {
                    resuList = resuList.Zip(zipList[i], (first, second) => first + second).ToList();
                }
            }
            foreach (var item in resuList)
                Console.WriteLine(item);
            Console.Read();

 上面这个方法是我想到最简洁的方法,或许还有更好的方法,欢迎大家指出,谢谢!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM