C# 通过追加行来创建字符串?

C# 通过追加行来创建字符串?,c#,string,C#,String,有没有一种简单的方法可以通过添加新文本作为新行来创建字符串 我想创建一个日志样式的文本,用于保存事件: Something superb happened Wow, that is awesome Look, a super awesome event here A little event there Whoops, an error here 我发现基本上。。没什么新鲜事 List<string> output = new List<string>(); outpu

有没有一种简单的方法可以通过添加新文本作为新行来创建字符串

我想创建一个日志样式的文本,用于保存事件:

Something superb happened
Wow, that is awesome
Look, a super awesome event here
A little event there
Whoops, an error here
我发现基本上。。没什么新鲜事

List<string> output = new List<string>();
output.add("Something superb happened");
output.add("Wow, that is awesome");
output.add("Look, a super awesome event here");
output.add("A little event there");
output.add("Whoops, an error here");
string finalOutput = string.Join(Environment.NewLine, output);
列表输出=新列表();
添加(“发生了什么事”);
添加(“哇,太棒了”);
add(“看,这里有一个超级棒的事件”);
添加(“那里有一个小事件”);
add(“哎呀,这里有个错误”);
string finalOutput=string.Join(Environment.NewLine,output);

有更好的方法吗?

您也可以使用StringBuilder。它相当有效

StringBuilder builder = new StringBuilder();
builder.AppendLine("Something happended");
builder.AppendLine("Wow ");
如果您经常这样做,可能会比您现有的更有效率,因为它不会创建很多临时字符串。

请改用该类

var sb = new StringBuilder();
sb.AppendLine("Something superb happened");
sb.AppendLine("Wow, that is awesome");
sb.AppendLine("Look, a super awesome event here");
sb.AppendLine("A little event there");
sb.AppendLine("Whoops, an error here");

string finalOutput = sb.ToString();

请注意,它有一个构造函数重载,它需要一个初始容量(如
int
),因此,如果您知道这将是什么,请使用该重载,因为它将避免昂贵的内部缓冲区大小调整。

是的,请使用StringBuilder

System.Text.StringBuilder sbText = new System.Text.StringBuilder(500);

sbText.AppendLine("Something superb happened");
sbText.AppendLine("Wow, that is awesome");

string finalOutput = sbText.ToString();
您可以使用将多行有效地连接到一个
字符串中。特别是如果您进行了大量的字符串修改(如追加行等)

例如:

var output = new StringBuilder();
output.AppendLine("Something superb happened");
output.AppendLine("Wow, that is awesome");
output.AppendLine("Look, a super awesome event here");
output.AppendLine("A little event there");
output.AppendLine("Whoops, an error here");
string finalOutput = output.ToString();

您可以使用字符串生成器和附加

StringBuilder output = new StringBuilder();
output.Append("Something superb happened"+Environment.NewLine);
output.Append("Wow, that is awesome"+Environment.NewLine);
output.Append("Look, a super awesome event here"+Environment.NewLine);
output.Append("A little event there"+Environment.NewLine);
output.Append("Whoops, an error here"+Environment.NewLine);

string finalOutput = output.ToString();