//设置采购价 if (IsModify) { TargetMaterialInfo.HaveConvertor

动态 未结 0 88
小小草
小小草 LV1 2023年9月23日 23:40 发表
在这段代码中,我们可以看到 `TargetMaterialInfo.HaveConvertor` 的值被设置为了 `true`,但是并没有进行任何判断,所以每次进入循环都会执行价格转换操作。如果需要避免重复执行价格转换操作,可以在外层加一个判断,例如: ``` bool isFirstLoop = true; // 是否是第一次进入循环 foreach (var targetMaterial in targetMaterials) { TargetMaterialInfo TargetMaterialInfo = GetTargetMaterialInfo(targetMaterial); if (isFirstLoop || !TargetMaterialInfo.HaveConvertor) { ConvertPrice(TargetMaterialInfo); TargetMaterialInfo.HaveConvertor = true; } // 其他操作... isFirstLoop = false; } ``` 在上面的代码中,我们使用了一个条件表达式来判断是否需要进行价格转换操作。如果是第一次进入循环,或者 `TargetMaterialInfo.HaveConvertor` 的值为 false,就进行价格转换操作,并将 `TargetMaterialInfo.HaveConvertor` 的值设置为 true。否则就直接跳过价格转换操作。这样就可以避免重复进行价格转换操作,从而避免价格重复增加的问题。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复