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