У меня есть цикл, который сравнивает данные одной из моих моделей:
foreach (var record in model_pdv)
{
foreach (var dish in record.Data)
{
int index = dish.Fecha.Day;
record.Days[index] = dish.Cantidad;
record.TotalQuantity += dish.Cantidad;
}
record.TotalPrice = (record.TotalQuantity * record.Precio);
}
Однако мое первое поле в моей записи. Данные — пустое поле, поэтому мой foreach выдает мне «System.ArgumentOutOfRangeException»
Как я могу избежать пустые данные в моем поле «Данные», это список, и первый список пуст.
Я могу показать код LinQ, если это поможет.
РЕДАКТИРОВАТЬ
Проблема решена путем добавления оператора if в цикл foreach
foreach (var record in model_pdv)
{
if (!record.Data.Any()){
foreach (var dish in record.Data)
{
int index = dish.Fecha.Day;
record.Days[index] = dish.Cantidad;
record.TotalQuantity += dish.Cantidad;
}
record.TotalPrice = (record.TotalQuantity * record.Precio);
}
}
Подробнее здесь: https://stackoverflow.com/questions/405 ... -statement
Избегайте пустых данных из модели в операторе Foreach ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение