【发布时间】:2021-09-14 07:08:09
【问题描述】:
简短的问题 当我在 foreach 标头中使用 Linq 查询时,它会一遍又一遍地构建。 还是先列出清单然后再通过它更好? 例如:
List<WashObjectReservationModel> reservations = washObjManager.GetReservations(currentProductionType);
if (reservations.Any(x => washObject.PreparationJob.PartTypes.Select(y => y.Number).Contains(x.PartType.Type)))
{
bool validForProduction = true;
foreach (var partType in washObject.PreparationJob.PartTypes.Where(x => reservations.Select(y => y.PartType.Type).Contains(x.Number)))
{
StoragePositionResult typePos = storageManager.GetPosition(partType.Number, StorageType.Cleaned, washObject.PreparationJob.CreateDate);
validForProduction = typePos.WashObject == null;
if (validForProduction)
{
logger.Info($"WashObject \"{washObject.Number}\" is required at production with PartType {partType.Number}");
break;
}
}
【问题讨论】:
-
请提供带有示例数据的minimal reproducible example,以便我们更好地了解您的问题的背景,尤其是所涉及的类型。