gpt4 book ai didi

c# - 在此生产计划示例中,这种使用 Dictionary 的方式是否正确?

转载 作者:行者123 更新时间:2023-11-30 19:08:11 25 4
gpt4 key购买 nike

考虑一个包含许多产品的生产计划应用程序。每个产品都有一个以 InventoryControlType 为键的 InventoryControl 对象列表。根据我们为生产计划运行的算法,我们需要访问给定产品的不同类型的 InventoryControl 对象。这工作正常。但是,今天我需要在 InventoryControl 中引入一个字段来保存 InventoryControlType,因为在我们的算法深处,我们需要知道 InventoryControlType。

但是,我觉得我做错了什么,因为看起来我在重复数据。

您觉得这个设计合适吗?有什么改进的想法吗?

class Product{
Dictionary<InventoryControlType, InventoryControl> InventoryControls;
GetInventoryControl(InventoryControlType type){
return InventoryControls[type];
}
}

class InventoryControl{
InventoryControlType controlType;
float limit;
float cost;
...
CalculateCost(){...}
GetConstraint(){...}
}

最佳答案

我觉得你很好。使用对象的唯一属性作为键是完全正常的(至少根据我的经验)——无论是在 DictionaryDataTable 还是您有什么.

例如,在我自己的工作中,我们的主要项目有一个名为 Product 的类,它有一个名为 Symbol 的属性,应用程序维护一个 Dictionary称为 Products,每个 Product 对象的 Symbol 属性用作其键。

这样想:如果你有一个有两个表的数据库,一个表通过键引用另一个表中的行,你可能会觉得你在“复制”数据,因为你有相同的数字(键)在两个地方。但这不是重复;这是一个引用。这同样适用于您的场景。

关于c# - 在此生产计划示例中,这种使用 Dictionary<enum,object> 的方式是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1425128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com