我有一些按属性CartItems
分组的FleetID
。
var groupedCartItems = cart.CartItems.OrderBy(x => x.FleetID)
.GroupBy(x => x.FleetID);
foreach (var fleetItem in groupedCartItems)
{
/////// var currentFleetID = fleetItem.GroupedFleetID; ////////
foreach(var itm in fleetItem)
{
}
}
在每个组的循环中,如何访问按其分组的
FleetID
属性? 最佳答案
您的案例是基于单个列进行分组,因此可以通过组键进行访问。这意味着fleetItem.Key
将为您提供该迭代中特定组的密钥。如果要从内部循环访问相同内容,则可以使用itm.FleetID
。
foreach (var fleetItem in groupedCartItems)
{
var currentFleetID = fleetItem.Key; //outer loop
foreach(var itm in fleetItem)
{
var groupId = itm.FleetID; // inner loop
}
}
如果您基于多个列执行分组,则意味着您可以针对键访问它们,请考虑分组类似于以下操作:
var groupedCartItems = cart.CartItems.OrderBy(x => x.FleetID)
.GroupBy(x => new { x.FleetID,x.FleetName});
然后,您可以像下面这样访问它们:
foreach (var fleetItem in groupedCartItems)
{
var currentFleetID = fleetItem.Key.FleetID;
var currentFleetName = fleetItem.Key.FleetName;
}