以正确的方式处理字符串构建器

Swe*_*tie 1 .net c# asp.net c#-3.0 c#-4.0

我根据一些条件将一些字符串附加到我的字符串构建器对象,如下所示:

StringBuilder Sb_Appearance = new StringBuilder();

if (Details.IsNeat == true) 
    Sb_Appearance.Append("Neat");

if (Details.IsDressed == true) 
    Sb_Appearance.Append(",Dressed");

if (Details.IsDisheveled == true) 
    Sb_Appearance.Append(",Disheveled");

if (Details.IsInappropriatelyDressed == true) 
    Sb_Appearance.Append(",Inappropriately Dressed");

if (Details.IsAppearanceOther == true) 
    Sb_Appearance.Append(",Other");
Run Code Online (Sandbox Code Playgroud)

如果第一个和第四个条件出错,我的最后一个字符串可以变成::

,Dressed,Disheveled,Other
Run Code Online (Sandbox Code Playgroud)

在这里我可以得到一个额外的逗号.我必须找到逗号,如果它存在于第一个索引的Sb_Appearance中并且必须删除它.我怎么能这样做.

Sim*_*ead 8

我建议使用a List<string>然后加入它:

var list = new List<string>();

if (Details.IsNeat)
    list.Add("Neat");

if (Details.IsDressed)
    list.Add("Dressed");

if (Details.IsDisheveled)
    list.Add("Disheveled");

if (Details.IsInappropriatelyDressed)
    list.Add("Inappropriately Dressed");

if (Details.IsAppearanceOther)
    list.Add("Other");

var result = string.Join(", ", list);
Run Code Online (Sandbox Code Playgroud)

我知道那不是你问的(你想要的StringBuilder)..但这就是你想要的.