powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как избавится от foreach
13 сообщений из 13, страница 1 из 1
Как избавится от foreach
    #39951143
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть такие классы:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class HistoryData
{
    public string GroupDate { get; set; }
    public List<Order> Orders { get; set; }
}

public class Order
{
    public OrderInfo OrderFullData { get; set; }
}



обработка идет вот так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
...
   var datas = resultData.OrdersInfoData
                                   .OrderBy(r => r.OrderNumber)
                                   .GroupBy(r => r.OrderDate)
                                   .ToDictionary(v => v.Key, v => v.Select(p => p))
                                   .ToList();
...



с двумя foreach заполняется все хорошо и правильно,
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
                        responseArchiveOrders.HistoryDatas = new List<HistoryData>();

                        foreach (KeyValuePair<DateTime, IEnumerable<OrderInfo>> item in datas)
                        {
                            HistoryData itemHistoryData = new HistoryData();

                            itemHistoryData.GroupDate = item.Key.ToString("yyyy-MM-dd");

                            itemHistoryData.Orders = new List<Order>();
                            foreach (var itemOrders in item.Value.ToList())
                            {
                                Order itemOrderData = new Order();
                                itemOrderData.OrderFullData = itemOrders;
                                itemHistoryData.Orders.Add(itemOrderData);
                            }

                            responseArchiveOrders.HistoryDatas.Add(itemHistoryData);
                        }	


но хочется переписать это красиво БЕЗ foreach
типа так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
                        d1.All(e =>
                        {
                            new HistoryData()
                            {
                                GroupDate = e.Key.ToString("yyyy-MM-dd"),
                                Orders = //??????? не могу написать заполнение без foreach
                            };
                            return true;
                        }
                        );	


Помогите плиз
...
Рейтинг: 0 / 0
Как избавится от foreach
    #39951144
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RegisteredUser
красиво
RegisteredUser
Код: c#
1.
 d1.All(e =>

нет, это НЕкрасиво
...
Рейтинг: 0 / 0
Как избавится от foreach
    #39951146
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro
RegisteredUser
красиво
RegisteredUser
Код: c#
1.
 d1.All(e =>

нет, это НЕкрасиво


вот и вопрос в этом.
покажите красиво
...
Рейтинг: 0 / 0
Как избавится от foreach
    #39951147
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RegisteredUser
Код: c#
1.
2.
3.
4.
5.
6.
7.
                            itemHistoryData.Orders = new List<Order>();
                            foreach (var itemOrders in item.Value.ToList())
                            {
                                Order itemOrderData = new Order();
                                itemOrderData.OrderFullData = itemOrders;
                                itemHistoryData.Orders.Add(itemOrderData);
                            }

это пишется так
Код: c#
1.
itemHistoryData.Orders = item.Value.Select(n => new Order { OrderFullData = itemOrders }).ToList()



Второй цикл по аналогии
...
Рейтинг: 0 / 0
Как избавится от foreach
    #39951150
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RegisteredUser
покажите красиво
Код: c#
1.
responseArchiveOrders.HistoryDatas = datas.Select(...).ToList();
...
Рейтинг: 0 / 0
Как избавится от foreach
    #39951151
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RegisteredUser
покажите красиво
Ещё красиво, когда вопросы, не относящиеся к ASP.NET, не задаются в ASP.NET
...
Рейтинг: 0 / 0
Как избавится от foreach
    #39951152
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
это пишется так
Код: c#
1.
itemHistoryData.Orders = item.Value.Select(n => new Order { OrderFullData = itemOrders }).ToList()


Код: c#
1.
itemHistoryData.Orders = item.Value.Select(n => new Order { OrderFullData = n}).ToList()

поправка
...
Рейтинг: 0 / 0
Как избавится от foreach
    #39951155
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro
RegisteredUser
покажите красиво
Ещё красиво, когда вопросы, не относящиеся к ASP.NET, не задаются в ASP.NET

кусок кода как раз из ASP.NET
...
Рейтинг: 0 / 0
Как избавится от foreach
    #39951156
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RegisteredUser
кусок кода как раз из ASP.NET
м-да
...
Рейтинг: 0 / 0
Как избавится от foreach
    #39952103
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
коллеги!
Что не так?
Код: c#
1.
2.
3.
4.
5.
                        responseArchiveOrders.HistoryDatas = d1.Keys.Select( k => new HistoryData()
                        {  
                            GroupDate = k.ToString("yyyy-MM-dd"),
                            Orders = d1.Values.Select(n => new Order()  { OrderFullData = n }).ToList()
                        });


Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<Contracts.Entities.OrderInfo>' to 'Contracts.Entities.OrderInfo'. An explicit conversion exists (are you missing a cast?)
...
Рейтинг: 0 / 0
Как избавится от foreach
    #39952106
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему ты стал использовать Values?
...
Рейтинг: 0 / 0
Как избавится от foreach
    #39952108
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тебя Values - это ICollection<IEnumerable<OrderInfo>>
Естественно n у тебя IEnumerable<OrderInfo>
А ты пытаешься присвоить его OrderFullData который OrderInfo
Что тебе и пишет сообщение об ошибке
В чем вопрос?
...
Рейтинг: 0 / 0
Как избавится от foreach
    #39952116
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СПАСИБО!
Кажись нашел прикол
Код: c#
1.
2.
3.
4.
                        responseArchiveOrders.HistoryDatas = d1.Select( k => new HistoryData()
                        {   GroupDate = k.Key.ToString("yyyy-MM-dd"),
                            Orders= k.Value.Select(n => new Order() { OrderFullData = n }).ToList()
                        }).ToList();
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как избавится от foreach
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]