C# 计算SKU的可能组合
我有这样的情况:C# 计算SKU的可能组合,c#,.net,combinations,C#,.net,Combinations,我有这样的情况: 带有SKU的产品 此产品具有具有SKU后缀的属性(复选框) (想象一个带有插件的产品) 属性始终以固定顺序排列,而不是下颚。产品的最终SKU为基本SKU+选定属性的后缀 例如,带有baseskuXXX的产品有3个属性,后缀分别为a、B和C 本产品的可能组合为: XXX-A XXX-A-B XXX-A-B-C XXX-A-C XXX-B XXX-B-C XXX-C 因为属性的顺序是固定的,所以永远不可能有XXX-C-B 计算这些SKU的最佳方法是什么 编辑:我应该告诉你这些
- 带有SKU的产品
- 此产品具有具有SKU后缀的属性(复选框)
- (想象一个带有插件的产品)
XXX
的产品有3个属性,后缀分别为a
、B
和C
本产品的可能组合为:
XXX-A
XXX-A-B
XXX-A-B-C
XXX-A-C
XXX-B
XXX-B-C
XXX-C
因为属性的顺序是固定的,所以永远不可能有XXX-C-B
计算这些SKU的最佳方法是什么
编辑:我应该告诉你这些属性是动态创建的。因此不可能有attA+“-”+attB。我需要一种方法来动态生成可能的SKU列表我看到另一个答案是计数。
对不起,如果我看错了问题
Public String SKU { get; set; }
Public bool Aattr { get: set; }
Public bool Battr { get: set; }
Public bool Cattr { get: set; }
Public String SKUwSuffix
{
get
{
string sKUwSuffix = SKU;
if (Aattr) sKUwSuffix += "-A";
if (Battr) sKUwSuffix += "-B";
if (Cattr) sKUwSuffix += "-C";
return sKUwSuffix;
}
}
我看到另一个答案是计数。
对不起,如果我看错了问题
Public String SKU { get; set; }
Public bool Aattr { get: set; }
Public bool Battr { get: set; }
Public bool Cattr { get: set; }
Public String SKUwSuffix
{
get
{
string sKUwSuffix = SKU;
if (Aattr) sKUwSuffix += "-A";
if (Battr) sKUwSuffix += "-B";
if (Cattr) sKUwSuffix += "-C";
return sKUwSuffix;
}
}
使用
StringBuilder
var sb = new StringBuilder("XXX");
if (skuACheckBox.Checked) {
sb.Append("-A");
}
if (skuBCheckBox.Checked) {
sb.Append("-B");
}
if (skuCCheckBox.Checked) {
sb.Append("-C");
}
string skuWithSuffix = sb.ToString();
使用
StringBuilder
var sb = new StringBuilder("XXX");
if (skuACheckBox.Checked) {
sb.Append("-A");
}
if (skuBCheckBox.Checked) {
sb.Append("-B");
}
if (skuCCheckBox.Checked) {
sb.Append("-C");
}
string skuWithSuffix = sb.ToString();
我建议维护一个不重复的选定后缀属性集合,并最终使用集合连接sku。我建议维护一个不重复的选定后缀属性集合,并最终使用集合连接sku。只需拥有一个公共属性SKUwSuffix并构建它即可up.可能重复yes duplicate,谢谢你的评论我以前找不到这个只要有一个公共属性SKUwSuffix并建立它。可能重复yes duplicate,谢谢你的评论我以前找不到这个