可能重复:
When is it better to use String.Format vs string concatenation?
为C#使用String.Format时的最佳做法是什么。我总是在这里感到困惑,因为这样的操作似乎更简单
private string _ExecuteCommand(string cmd)
{
// Start the child process.
Process p = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
// Redirect the output stream of the child process.
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = String.Format("/C {0}", cmd); // prevents the command line from staying open after execution
//... you get the idea
}
使用String.Format vs字符串连接是否有特别的优势?换句话说,我可以这样做......,
startInfo.Arguments = "/C " + cmd; // prevents the command line from staying open after execution
我想继续使用质量代码,但我不知道它的quality
何时使用String.Format。如果有人有任何建议我会很感激。
答案 0 :(得分:1)
在这种情况下,我会选择直连; MS认证文章建议只对两个字符串进行简单连接。
如果您的变量是DateTime对象(例如)并且您需要特定格式,那么我将使用String.Format。
答案 1 :(得分:0)
当您需要将应用翻译成多种语言或应对不同的环境时,String.Format会为您提供帮助。如果你从一开始就使用string.format,你就把自己放在一个更好的地方,因为将所有字符串放到资源文件中要容易得多。
在您的示例中,如果您使用string.format然后选择将Start Info字符串存储在资源文件中,则可以为不同的环境提供单独的资源文件,以支持MAC,Windows和Linux,而无需更改代码。 / p>
答案 2 :(得分:0)
String.Format更易读,而字符串连接更快。 String.Format使用内部StringBuilder来格式化字符串,因此它有点慢但更健壮。