0

私はこの状況を持っています:

  • SKU のある製品
  • この製品には、SKU サフィックスを持つ属性 (チェックボックス) があります
  • (アドオン付きの製品を想像してください)

属性は常に固定された順序であり、必須ではありません。製品の最終的な SKU は、basesku + 選択した属性のサフィックスです。

たとえば、basesku を持つ製品には、接尾辞と のXXX3 つの属性があります。ABC

この製品の可能な組み合わせは次のとおりです。

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 のリストを動的に生成する方法が必要です

4

3 に答える 3

3

使う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();
于 2012-12-10T20:42:42.240 に答える
0

もう1つの答えはカウントです。
質問の読み方が間違っていたらすみません。

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;
   }
}
于 2012-12-10T20:35:58.037 に答える
0

重複しない選択されたサフィックス属性コレクションを維持し、最終的にコレクションを使用して sku を連結することをお勧めします。

于 2012-12-10T20:48:03.990 に答える