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

时间:2019-04-08 01:59:50

标签: c# wpf

当前,我已使用foreach

现在,我不要循环播放。我希望所有数据一次显示。这就像一个列表。例如,我有3行数据,并且希望它一次显示所有数据而不会循环。我该怎么办?

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分: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
           };
      }));
}