首页 文章

字符串列表到一个字符串

提问于
浏览
184

让我们说你有一个:

List<string> los = new List<string>();

在这个疯狂的功能世界中,我们生活在这些日子里,其中一个最适合通过连接这些来创建一个字符串:

String.Join(String.Empty, los.ToArray());

StringBuilder builder = new StringBuilder();
los.ForEach(s => builder.Append(s));

string disp = los.Aggregate<string>((a, b) => a + b);

或简单的旧StringBuilder foreach

或者,还有更好的方法?

6 回答

  • 6
    string.Concat(los.ToArray());
    

    如果你只想连接字符串,那么使用string.Concat()而不是string.Join() .

  • 8
    los.Aggregate((current, next) => current + "," + next);
    
  • 256

    我的投票是string.Join

    无需创建lambda评估和临时函数,更少的函数调用,更少的堆栈推送和弹出 .

  • 16

    String.Join()实现得非常快,因为你已经有了一个有问题的字符串集合,可能是最好的选择 . 最重要的是,它喊道:“我加入了一系列字符串!”总是很好 .

  • 4

    如果您使用.net 4.0,则可以使用分拣机方式:

    String.Join<string>(String.Empty, los);
    
  • 49

    我会选择A:

    String.Join(String.Empty, los.ToArray());
    

    我的理由是因为Join方法是为此目的而编写的 . 事实上,如果你看一下Reflector,你会发现使用不安全的代码来真正优化它 . 另外两个也是WORK,但我认为Join函数是为此而编写的,我猜,最有效率 . 我可能错了......

    根据没有 .ToArray() 的@Nuri YILMAZ,但这是.NET 4:

    String.Join(String.Empty, los);
    

相关问题