Подтвердить что ты не робот

Форматировать строки в методе Console.WriteLine

Im новое для программирования на С#. Может кто-нибудь объяснить следующий код:

Console.WriteLine( "{0}{1,10}", "Face", "Frequency" ); //Headings
Console.WriteLine( "{0,4}{1,10}",someval,anotherval);

Я понимаю, что это печатает два столбца значений с указанными заголовками, а {0} относится к первому аргументу. Но каково значение строк формата формы {x,y}?

4b9b3361

Ответ 1

Он добавляет отступ слева. Очень полезно запомнить различные шаблоны форматирования строк следующим типом:

.NET String.Format Cheat Sheet

Положительные значения добавляют добавление влево, отрицательное добавление дополнений вправо

Sample                                 Generates
String.Format("[{0, 10}]", "Foo");     [∙∙∙∙∙∙∙Foo]
String.Format("[{0, 5}]", "Foo");      [∙∙Foo]
String.Format("[{0, -5}]", "Foo");     [Foo∙∙]
String.Format("[{0, -10}]", "Foo");    [Foo∙∙∙∙∙∙∙]

Ответ 2

Когда вы видите {x,y}, x представляет индекс аргумента и y выравнивание, как указано здесь. Полный синтаксис следующий:

{index[,alignment][:formatString]}

Ответ 3

Пожалуйста, проверьте этот для очень хорошей ссылки на форматирование строк.

Ответ 4

Это значение прокладки... если аргумент не задан, он помещает пробелы.

например. если у вас было {0,10}, а аргументом для {0} был "Бла", фактическое значение было бы "Blah<SPACE><SPACE><SPACE><SPACE><SPACE><SPACE>"... Бла, с 6 дополнительными пробелами, чтобы составить строку длиной 10

ps - не уверен, как поместить фактические пробелы в... нужно искать SO faq без сомнения