Как перейти от foreach к отображению всех данных одновременно? - PullRequest
0 голосов
/ 08 апреля 2019

в настоящее время я использовал foreach

Теперь я не хочу зацикливаться. Я хочу, чтобы все данные показывались одновременно. это как список. Например, у меня есть 3 строки данных, и я хочу, чтобы он показывал все данные одновременно без зацикливания. Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 08 апреля 2019
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
           };
      }));
}
0 голосов
/ 08 апреля 2019

Вы можете сначала поместить его во временный список, а затем использовать .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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...