【发布时间】:2013-03-05 13:08:44
【问题描述】:
我已经尝试寻找一个现有的问题,但不知道如何表达这个问题,这在任何地方都没有检索到任何结果:(
无论如何,我有一类具有不同属性的“订单项”。这些订单商品是用于服装的,因此它们会有一个尺寸(字符串)。
因为我对这类事情有强迫症,所以我希望元素不是按字母数字值的大小排序,而是按自定义顺序的大小排序。
如果可能的话,我也希望不要对这个自定义订单进行硬编码。
分解一下,如果我有一个这些订单商品的列表,每个商品都有一个尺寸,如下所示:
2XL
S
5XL
M
使用字母数字排序,它将按以下顺序:
2XL
5XL
M
S
但我想将此列表排序为以下顺序(从最小到最大):
S
M
2XL
5XL
我能想到的唯一方法是拥有一个硬编码的大小数组并按它们的索引排序,然后当我需要获取大小值时,我可以获取大小顺序数组 [i]价值。但是,正如我所说,我希望这个订单不要被硬编码。
我希望订单是动态的原因是订单项目在运行时从硬盘上的文件加载,并且用户在运行时添加/编辑/删除,它们可能包含的大小我没有硬编码,例如我可以从 10XS 一直硬编码到 10XL,但是如果有人添加尺寸“110cm”(又名 Medium),它会以我不想要的顺序出现假设程序没有崩溃和烧毁。
我不知道该怎么做。
【问题讨论】:
-
项目加载时加载到哪里?进入数据库?你不能在这里应用订单索引吗?
-
我刚刚回答了一个类似的问题,这是我的回答:stackoverflow.com/questions/15223213/…
-
如果有人加了110cm,你怎么知道它的意思?
-
蒂姆:问题就在这里。我担心我可能只需要删除自定义尺寸输入并给用户一个列表,然后对订单进行硬编码。 Liam:这些项目只是加载到一个 Order 类中,该类是一个继承自 List
的自定义类,我在其中添加了一些方法来检索与某些字段匹配的项目。 Nolonar:谢谢,我现在去看看。