如何从foreach更改为一次显示所有数据?

问题描述 投票:-3回答:2

目前,我使用过foreach

现在,我不想循环。我希望一次显示所有数据。它就像一个清单。例如,我有3行数据,我希望它一次显示所有数据而不循环。我怎样才能做到这一点?

c# wpf
2个回答
0
投票

您可以先将它放在临时列表中,然后使用.AddRange将其一次性添加到主列表中。

List<int> itemIds = itemRelationBO.GetItemRelationItem(item.ItemId);

List<ItemRelationDisplay> temp = new List<ItemRelationDisplay>();

foreach (var id in itemIds)
{
    ItemRelation itemRelation = new ItemRelation();
    ItemRelationDisplay itemRelationDisplay = new ItemRelationDisplay();
    itemRelationDisplay.ItemIdSub = id;
    itemRelationDisplay.ItemNameSub = itemRelation.ItemNameSub;
    itemRelationDisplay.ItemQuantitySub = 1;
    temp.Add(itemRelationDisplay);
}

itemRelationList.AddRange(temp)

0
投票
if (item.IsMainItem == true)
{
     ItemDisplay itemDisplay = new ItemDisplay();
     itemDisplay.ItemCode = item.ItemCode;
     itemDisplay.ItemName = item.ItemName;
     itemDisplay.ItemPrice = simpleItem.ItemPrice;
     itemDisplay.Quantity = 1;
     itemDisplayList.Add(itemDisplay);
     ItemRelationBO itemRelationBO = new ItemRelationBO();
     List<int> itemIds = itemRelationBO.GetItemRelationItem(item.ItemId);
     itemRelationList.AddRange(itemIds.Select(id =>
     {
           ItemRelation itemRelation = new ItemRelation();
           return new ItemRelationDisplay
           {
                 ItemIdSub = id,
                 ItemNameSub = itemRelation.ItemNameSub,
                 ItemQuantitySub = 1
           };
      }));
}
© www.soinside.com 2019 - 2024. All rights reserved.