如何从多个可选选项中获取单个值?

Nat*_*e32 1 c# options

我的情况是我需要获得一个定义多个选择选项组合的值.这是我想要做的一个小例子.

用户正在买衬衫.购买衬衫时,用户可以选择许多不同的选项.每个选择组只能(且必须)选择一个选项.选择组可以表示为单选按钮列表或下拉列表,任何只允许每个组选择一个的选项.例如:

衬衫颜色:红色,蓝色,绿色,黑色,白色或黄色
衬衫尺寸:X-小​​,小,中,大,X-大,XX-大
衬衫设计:水平条纹,垂直条纹,波尔卡圆点,斜条纹, No Design
衬衫类型:系扣衬衫,Polo衫,T恤,长袖T恤,运动衫

因此,为了解决这个问题,每组只能选择一个选项.我使用可能的选择总共获得了900种不同的变体(6x6x5x5).鉴于以下选项具有以下值:

红色= 1,蓝色= 2,绿色= 3,黑色= 4,白色= 5,黄色= 6
X-小= 0,小= 1,中= 2,大= 3,X-大= 4,XX-大= 5
水平条纹= 0,垂直条纹= 1,波尔卡圆点= 2,斜条纹= 3,无设计= 4
纽扣衬衫= 0,Polo衫= 1,T恤= 2,长袖T恤= 3 ,运动衫= 4

选择{Red,X-Small,Horizo​​ntal Striped,Button Up Shirt} = 1和{Blue,X-Small,Horizo​​ntal Striped,Button Up Shirt} = 2等,

根据所做的选择找到值的正确方法是什么?例如,{Black,Large,Horizo​​ntal Striped,T-Shirt}的选择值应该是什么?你如何找到解决方案?我不能完全指责它,我尝试过的所有东西似乎都没有成功.这可能是一个简单的解决方案,我现在只是大脑死了.

Mat*_*nes 5

您可以连接选项的值,就像它们是字符串一样(通过将每个单独的值转换为字符串,连接它们,然后将其转换为整数).所以,{Black,Large,Horizo​​ntal Striped,T-Shirt}将是4302.这应该保证没有两种可能的组合具有相同的标识符(尽管我不是数学专家).