C#逗号分隔的字符串添加了额外的结尾逗号

时间:2017-04-18 00:28:19

标签: c# asp.net-mvc string list arraylist

我将表单中的一串值传递给MVC5 Controller,并使用C#将项目保存在数据库的一个字段中。

使用控制器中的actionresult访问string[]CarNotes并按如下方式操作:

string selection = "";
                if (CarNotes != null && CarNotes.Length > 0)
                {
                    foreach (string s in CarNotes)
                    {
                        selection += s + ", ";
                    }
                }

然后,我将选择的内容保存在指定的数据库字段中。这很好用。唯一的问题是它增加了一个额外的''在列表的末尾。如何防止这种额外的',#39;。感谢

3 个答案:

答案 0 :(得分:3)

您也可以尝试使用string.join ...

var selection = String.Join(", ", CarNodes);

此处有更多信息... https://msdn.microsoft.com/en-us/library/57a79xd0(v=vs.110).aspx

答案 1 :(得分:1)

在串联字符串时始终使用StringBuilder:

StringBuilder selection = new StringBuilder();
if (CarNotes != null && CarNotes.Length > 0)
{
   foreach (string s in CarNotes)
   {
      selection.Append(s);
      selection.Append(", ");
   }
}
//Trim the ending space, then trim the ending comma
return selection.ToString().TrimEnd().TrimEnd(',');

或者您可以使用Substring

if (selection.EndsWith(", "))
{
    selection = selection.Substring(0, selection.Length - 2);
}

Remove

if (selection.EndsWith(", "))
{
    selection = selection.Remove(selection.Length - 2);
}

答案 2 :(得分:0)

除了String.Join,你还可以使用聚合(linq,在函数式编程中减少)

docker run -d -p 3000:3000 \
-v /opt/pf-grafana:/opt/pf-grafana \
grafana/grafana \
--config=/opt/pf-grafana/grafana.ini