C# 如何在C中将其更改为String.Format#

C# 如何在C中将其更改为String.Format#,c#,string,command-line,ffmpeg,code-formatting,C#,String,Command Line,Ffmpeg,Code Formatting,原创 string strCommandLineArgs = (((("-i" + " ") + strVideoPath + " -vcodec mjpeg -vframes 1 -an -f rawvideo -s ") + intWidth.ToString() + "x") + intHeight.ToString() + " ") + strImagePath + " -ss 2"; 我已经做到了这一点 string strCommandLineArgs = string.Forma

原创

string strCommandLineArgs = (((("-i" + " ") + strVideoPath + " -vcodec mjpeg -vframes 1 -an -f rawvideo -s ") + intWidth.ToString() + "x") + intHeight.ToString() + " ") + strImagePath + " -ss 2";
我已经做到了这一点

string strCommandLineArgs = string.Format("-i {0} -vcodec mjpeg -vframes 1 -an -f rawvideo -s {1}x{2} {3} -ss 2", strVideoPath, intWidth, intHeight, strImagePath);

我找不到字符串中使用
的区别。

没有区别。括号不会给字符串添加任何特殊内容。

这很愚蠢:

string strCommandLineArgs = (((("-i" + " ") + strVideoPath + " -vcodec mjpeg -vframes 1 -an -f rawvideo -s ") + intWidth.ToString() + "x") + intHeight.ToString() + " ") + strImagePath + " -ss 2";
就像在写:

((((1+2)+3)+4)+5)
你可以这样写:

string strCommandLineArgs = "-i" + " " + strVideoPath + " -vcodec mjpeg -vframes 1 -an -f rawvideo -s " + intWidth.ToString() + "x" + intHeight.ToString() + " " + strImagePath + " -ss 2";

不知道你在问什么,第二行代码回答了你的标题问题。我在这个cmd行args中遇到了问题,这就是为什么我在社区中问的原因,所以如果有人发现这个问题。。。感谢所有人的回答。你可能想问另一个问题,并描述你遇到的实际问题。如果你自己不能很容易地找到一个解决方案,在不将问题缩小到你认为问题所在的范围的情况下询问它,可能会带来一些不带偏见的见解。