我有 3 個“BOMrow”,它們被添加到“itemBOMList”。每個“BOMrow”都是一個類,ParentChildPair。然后對“itemBOMList”進行分組,得到“結果”。最后,我想將“結果”添加到主串列“BOMList”中。但是,錯誤顯示“無法從 'System.Collections.Generic.List<<anonymous type: string Child, bool IsReferencePart, string Parent, int Quantity>>' 轉換為 'addToList.ParentChildPair' ”
我嘗試在 ToList() 之前添加 .Cast<ParentChildPair>(),但這也不起作用,顯示“無法從 'System.Collections.Generic.List<addToList.ParentChildPair>' 轉換為 'addToList.ParentChildPair' ”。請幫忙。
class ParentChildPair
{
public string Parent { get; set; }
public string Child { get; set; }
public int Quantity { get; set; }
public bool IsReferencePart { get; set; }
}
class Program
{
static void Main(string[] args)
{
List<ParentChildPair> itemBOMList;
itemBOMList = new List<ParentChildPair>();
List<ParentChildPair> BOMList;
BOMList = new List<ParentChildPair>();
List<ParentChildPair> newresult;
//List<ParentChildPair> convertedResult;
//convertedResult = new List<ParentChildPair>();
ParentChildPair BOMrow = new ParentChildPair();
BOMrow.Parent = "parent1";
BOMrow.Child = "child1";
BOMrow.Quantity = 1;
BOMrow.IsReferencePart = false;
itemBOMList.Add(BOMrow);
BOMrow = new ParentChildPair();
//BOMrow = null;
BOMrow.Parent = "parent1";
BOMrow.Child = "child2";
BOMrow.Quantity = 1;
BOMrow.IsReferencePart = false;
itemBOMList.Add(BOMrow);
BOMrow = new ParentChildPair();
BOMrow.Parent = "parent1";
BOMrow.Child = "child2";
BOMrow.Quantity = 2;
BOMrow.IsReferencePart = false;
itemBOMList.Add(BOMrow);
var result = itemBOMList.GroupBy(d => d.Child)
.Select(
g => new
{
Child = g.Key,
IsReferencePart = g.First().IsReferencePart,
Parent = g.First().Parent,
Quantity = g.Sum(s => s.Quantity)
}).ToList();
BOMList.Add(result);
}
}
uj5u.com熱心網友回復:
您的 linq 查詢回傳匿名物件的 IEnumerable。您需要創建一個ParentChildPair. 然后您可以將其添加到串列中,但您需要使用AddRange方法,因為您的查詢結果將為IEnumerable.
var result = itemBOMList.GroupBy(d => d.Child)
.Select(
g => new ParentChildPair
{
Child = g.Key,
IsReferencePart = g.First().IsReferencePart,
Parent = g.First().Parent,
Quantity = g.Sum(s => s.Quantity)
}).ToList();
BOMList.AddRange(result);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/367492.html
上一篇:通過串列的元素名稱=資料幀行號從串列中分配資料幀中的值
下一篇:將串列中的專案與一個公共編號合并
