Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Append(Environment.NewLine)和AppendLine(string.empty)之间有什么实际的区别吗?或者它只是一种风格上的选择?_C#_Stringbuilder - Fatal编程技术网

C# Append(Environment.NewLine)和AppendLine(string.empty)之间有什么实际的区别吗?或者它只是一种风格上的选择?

C# Append(Environment.NewLine)和AppendLine(string.empty)之间有什么实际的区别吗?或者它只是一种风格上的选择?,c#,stringbuilder,C#,Stringbuilder,据推测,所有这些线条都具有相同的效果: stringyBuilder.Append(Environment.NewLine); stringyBuilder.AppendLine(string.Empty); stringyBuilder.AppendLine(); (stringyBuilder是StringBuilder对象,如果不明显的话) …那么,是一个比另一个更受欢迎,还是一个宗教热情的问题呢?它们在功能上都是等价的stringyBuilder.AppendLine(string.E

据推测,所有这些线条都具有相同的效果:

stringyBuilder.Append(Environment.NewLine);
stringyBuilder.AppendLine(string.Empty);
stringyBuilder.AppendLine();
(stringyBuilder是StringBuilder对象,如果不明显的话)


…那么,是一个比另一个更受欢迎,还是一个宗教热情的问题呢?

它们在功能上都是等价的<代码>stringyBuilder.AppendLine(string.Empty)将向
Append
添加一个调用,这将导致一些额外的处理:

StringBuilder.AppendLine()的文档

将默认行终止符追加到当前StringBuilder对象的末尾


如果你问的是偏好,我想
stringyBuilder.AppendLine(),因为它比
stringyBuilder.Append(Environment.NewLine)更短,并且对性能没有影响

第一个选项和第三个选项之间没有区别,因为
AppendLine
是对
Append
的调用,通过
System.Environment.NewLine

public StringBuilder AppendLine () {
    return Append (System.Environment.NewLine);
}

中间的选项是次优的,因为它试图附加一个空字符串。不过,这只需要很少的时间,而且在功能上与其他两个相同。

您知道第三个选项,
AppendLine()
?只是一个风格选择。最后一个选项更短,需要解析的内容更少。别忘了
stringyBuilder.AppendFormat({0}),Environment.NewLine)检查参考源代码总是好的
stringyBuilder.AppendLine()
只是
stringyBuilder.Append(Environment.NewLine)
的快捷方式:
public StringBuilder AppendLine () {
    return Append (System.Environment.NewLine);
}