[英]How do i convert List<int[]> into List<int>
private static void A(){
List<int[]> list = new List<int[]>();
int[] a = {0,1,2,3,4};
int[] b = {5,6,7,8,9};
list.Add(a);
list.Add(b);
List<int> list2 = new List<int>();
// list2 should contain {0,1,2,3,4,5,6,7,8,9}
}
我將如何將List<int[]> list
轉換為List<int>
以便所有int[] arrays
成為一個巨大的數字列表
看起來您可能正在尋找LINQ .SelectMany
方法。 來自MSDN的報價:
將序列的每個元素投影到IEnumerable並將結果序列展平為一個序列
List<int> list2 = list.SelectMany(l => l).ToList();
如果希望按特定順序對數字進行排序,則可以在執行查詢之前使用.OrderBy
(將在我們調用.ToList
時執行)。
List<int> list2 = list.SelectMany(l => l).OrderBy(i => i).ToList();
關於什么?
var list2 = a.Concat(b).ToList();
我會使用聚合函數。 擁有更多收藏時會更好。
List<int> list2 = list.Aggregate(new List<int>(), (ag, l) => { ag.AddRange(l); return ag; });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.