【问题标题】:How to concatenate a list of strings together, with a comma between each value?如何将字符串列表连接在一起,每个值之间用逗号分隔?
【发布时间】:2019-05-10 12:16:29
【问题描述】:

我需要有关此代码的帮助。我想像这样在 foreach 循环中拆分单词,但我不想在最后一个单词后面加上,。有什么建议吗?

var listOtherWords = (from o in Words
                      where !o.ToUpper().StartsWith("A")
                      where !o.ToUpper().StartsWith("B")
                      where !o.ToUpper().StartsWith("C")
                      select o).ToList();

Console.WriteLine();
Console.Write("Other Words: ");

foreach (string o in lisOtherWords)
{
    Console.Write(o + " ,");
}

Console.ReadLine();

【问题讨论】:

标签: c# .net string linq


【解决方案1】:

您可以使用String.Join 方法:

Console.Write(string.Join(" ,", listOtherWords));

或者使用\b \b":

foreach (string o in listOtherWords)
{
    Console.Write(o + " ,");
}

Console.Write("\b \b");

它将插入符号向后移动,然后写入一个空白字符,覆盖最后一个字符并再次向前移动插入符号。

【讨论】:

    【解决方案2】:

    除了Join你还可以使用Aggregate方法:

    string line = listOtherWords.Aggregate((a,b) => $"{a} ,{b}");
    

    唯一的区别是您可以在循环中添加额外的逻辑。例如:

    string line = listOtherWords.Aggregate((a,b) =>
    {
        if(...) ...
        return $"{a} ,{b}";
    });
    

    【讨论】:

      【解决方案3】:

      你最好使用string.Join:

      Console.Write(string.Join(" ,", lisOtherWords));
      

      【讨论】:

        猜你喜欢
        • 2016-03-13
        • 2012-12-22
        • 2011-02-24
        • 2017-09-29
        • 2021-01-21
        • 1970-01-01
        • 2013-08-19
        • 2019-06-01
        • 2019-02-23
        相关资源
        最近更新 更多