Вот объяснение, почему ваш код не работает:
Во-первых, позволяет разбить свою линию:
System.Console.Write("{0}" + " {0}" + " {0}", text1, " {0}", text2);
Эта линия будет упрощать к этому:
System.Console.Write("{0} {0} {0}", text1, " {0}", text2);
Имейте в виду, что первым параметром является строка для вывода. В этом случае "{0} {0} {0}"
. Любые параметры после этой строки являются параметрами для замены в исходной строке, например {0}
или {1}
и т. Д. Эти параметры используются по мере необходимости.
System.Console.Write
, в контексте вы используете его ожидает строку и ищет параметры, такие как {0}
и {1}
и т.д. Поскольку используется только один параметр, {0}
, это только захват первого параметра после строка, которая равна text1
. Любые другие параметры после этого просто игнорируются, или, более конкретно, они не используются. Таким образом, компилятор в основном упрощает вашу линию к этому:
System.Console.Write("{0}" + " {0}" + " {0}", text1);
Вам нужно использовать '{1}' для ссылки на второй параметр – stackErr
, проверил его же результат. – Johnson