哪一个更快?哪一个使用更少的内存?
Console.WriteLine("string1")
Console.WriteLine("string2")
Console.WriteLine("string3")
Console.WriteLine("stringNth")
或
StringBuilder output = new StringBuilder();
output.AppendLine("string1");
output.AppendLine("string2");
output.AppendLine("string3");
output.AppendLine("stringNth");
Console.WriteLine(output);
感谢,
答案 0 :(得分:8)
第一个。
控制台类将把它缓冲到标准输出流。
使用第二个选项,您正在尝试创建自己的缓冲区,然后再次缓冲它。
把它带到一个极端 - 做这10,000,000次。你的StringBuilder最终会占用你所有的内存,而控制台只会吐出输出。
答案 1 :(得分:0)
找出最好的方法是每次迭代10,000次,看看哪个更快。我怀疑它们在性能方面几乎完全相同。
答案 2 :(得分:0)
由于这是一个有7年历史的问题,这里的答案需要更清晰一点,并添加我的答案。
Console.WriteLine会慢一些。但它会消耗更少的内存。 第二个会占用更多内存,但速度要快得多。
一些统计数据: 使用Console.Writeline写入100,000大约需要30秒。 使用“字符串”构建器只需不到一秒钟。
如果字符串很小,那么内存不会成为问题,使用第二种方法会更好。