簡體   English   中英

我如何轉換列表 <int[]> 進入清單 <int>

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM