创建多行字符串的最佳语法

Kon*_*rin 7 .net c# string syntax multiline

在C#中创建多行字符串的最佳方法是什么?

我知道以下方法:

使用StringBuilder

var result = new StringBuilder().AppendLine("one").AppenLine("two").ToString()
Run Code Online (Sandbox Code Playgroud)

看起来太冗长了.

使用@

      var result = @"one
two"
Run Code Online (Sandbox Code Playgroud)

看起来很丑,格式很糟糕.

你知道更好的方法吗?

Pao*_*sco 21

那这个呢:

var result = string.Join(Environment.NewLine, new string[]{ 
    "one",
    "two" 
});
Run Code Online (Sandbox Code Playgroud)

这有点痛苦,可能是一种矫枉过正,但它可以保留代码中的行分隔.
要稍微改进一下,可以使用辅助方法:

static string MultiLine(params string[] args) {
    return string.Join(Environment.NewLine, args);
}

static void Main(string[] args) {
    var result = MultiLine( 
        "one",
        "two" 
    );
}
Run Code Online (Sandbox Code Playgroud)


Kon*_*lph 11

那这个呢?

var result = "one\ntwo";
Run Code Online (Sandbox Code Playgroud)

如果您对特定于操作系统的行结尾感到挑剔,请使用Format:

var result = String.Format("one{0}two", Environment.NewLine);
Run Code Online (Sandbox Code Playgroud)

(好吧,"挑剔"不是正确的词:在处理文本文件时,在处理传统软件时,通常需要或甚至需要特定于操作系统的行结尾.)