我有一個 2D 嵌套串列List<list<dynamic>>,我想獲取每個二級串列的第一個元素并形成一個新的List<dynamic>.
我知道.first()獲取串列的第一個元素,但是如何將它應用于多個子串列?
提前致謝。
uj5u.com熱心網友回復:
正確有效的方法如下:
mainList.Select(subList => subList?.First()).OfType<dynamic>();
這將處理null串列和null元素
如果要選擇子串列的所有元素,請嘗試以下操作
mainlist.Select(subList => subList).OfType<List<dynamic>>();
這只會處理null串列
uj5u.com熱心網友回復:
IEnumerable s = listOfLists.Where(lists => lists.Any()) .Select(array => array.First());
解釋:
首先使用 lists => lists.Any() 獲取有任何記錄的陣列串列
然后從每個串列中選擇第一項并回傳。
uj5u.com熱心網友回復:
如果你想獲取每個串列的前兩個元素,請試試這個,你想要的元素越多,你可以增加 .Take() 中的整數。
List<List<string>> originalList = new List<List<string>>()
{
new List<string>(){"1","1","1"},
new List<string>(){"2","2"},
};
var FirtTwoElementsList = originalList.Select(x => x.Take(2)).ToList();
List<string> FinalList = new List<string>();
foreach (var item in FirtTwoElementsList)
{
FinalList.AddRange(item.ToList<string>());
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/428921.html
上一篇:C#HTML中的Rowspan表行,帶有基于特定值的“For回圈”
下一篇:物體框架SQL查詢生成
