我有一个场景,我无法在脑海中找到最好的方法,我希望它能给我最大的可扩展性并避免使用幻数编码。
本质上是一个简化的例子。
用户输入一个数字(比如说 5326) 我的系统会将这个数字向下或向上舍入到来自列表的最接近的“可接受值”。我希望这个列表是可配置的。另请注意,不同的变量有不同的列表,例如
可接受高度:1000,2000,3000,4000 可接受长度:500,600,700,800
我能想到的最好的方法来存储这样的值:
<appSettings>
<add key="acceptableHeight" value="1000,2000,3000,4000" />
<add key="acceptableLength" value="500,600,700,800" />
</appSettings>
我能想到的逻辑是
- 从配置中获取价值
- 用逗号分割成整数列表
- 对列表进行排序(以防万一)
- 某种搜索以找到最接近的值(或使用结束值)
但我不是 100% 确定如何...