2016-10-18 2 views
1

Я не знаю достаточно многого, чтобы легко описать это вам, но вместо этого я просто покажу вам примеры. ли мы это сделать:Переменные Console.WriteLine, их нужно вызывать и отвечать в цифровом порядке?

public void Display() 
{  
Console.WriteLine("VariableOne: {0} VariableTwo: {1} VariableThree: {2}", variableone, variabletwo, variablethree); 
} 

Или же мы можем сделать это, а?

public void Display() 
{ 
Console.WriteLine("VariableOne: {2} VariableTwo: {1} VariableThree: {0}", variablethree, variabletwo, variableone); 
} 

Извините мои ошибки, я пытался форматировать как лучше, как я мог.

Если вы не поняли, что я имел в виду, я просто показал разницу в том, как я назвал {#}, где # - это другое число между переменными в первом аргументе, я просто спрашиваю, как гибко это или насколько жесткий и чувствительный к регистру C# на самом деле.

+4

Почему бы вам не попробовать сначала в Visual Studio? – Han

+2

Мне кажется, что вы можете проверить это сами в гораздо меньшее время, чем потребовалось вам, чтобы опубликовать здесь. Есть ли причина, по которой вы этого не сделали? Это должно быть то место, где вы просите о помощи ** после ** вы пытались сделать что-то сами и сталкивались с проблемами, а не повод для абсолютно ничего не делали сами. –

+0

@KenWhite Почему вы отговариваете меня от учебы?Я просто спросил об этом, потому что мог, и потому, что я знал, что у меня будет неплохой шанс узнать больше об этом, тогда я мог бы просто напечатать его и получить результат. – Xevion

ответ

1

Они называются заполнителями, все это касается индексации.

composite format строка состоит из фиксированного текста перемешан с индексируемых заполнителей, называемыми элементами форматирования, которые соответствуют объектам в списке. Операция форматирования дает строку результата , которая состоит из исходного фиксированного текста, смешанного со строкой . Представление объектов в списке.

При указании "VariableOne: {2}" оно берет третье значение или значение @ index 2 в списке приведенных аргументов. Позвольте мне предположить, что переменные целых типов и определяются следующим образом:

int variablethree=3, variabletwo=2, variableone=1; 

Теперь рассмотрим второй случай:

Console.WriteLine("VariableOne: {2} VariableTwo: {1} VariableThree: {0}", variablethree, variabletwo, variableone); 

который будет дает вам результат, как VariableOne: 1 VariableTwo: 2 VariableThree: 3. Так как {2} будет принимать значение по индексу 2, который составляет variableone

+0

Спасибо! Я понял, и теперь я помню важное слово программирования и словарного слова «Индексы». – Xevion

3

Нумерованные заполнители используются для обеспечения правильной локализации. Различные разговорные языки предпочитают структурировать предложения в разных порядках, имея пронумерованные заполнители, дает переводчику свободу переупорядочить предложение, чтобы более правильно сформулировать его для определенного разговорного языка.

Текст, видимый пользователем, часто хранится вне кода и просматривается на основе текущего языка. Термин, используемый в окнах, - это «ресурсы». Это позволяет языковым переводчикам добавлять больше языков, не просматривая исходный код программы. Переводчик редактирует строку формата, и программный код может просто передавать значения в фиксированном порядке.

0

Вы можете сделать это, если хотите.

Console.WriteLine($"VariableOne: {variableone} VariableTwo: {variabletwo} VariableThree: {variablethree}"; 
+0

Прохладный, документация и учебный PDF, который я читаю, ничего не говорили об этом. – Xevion

+0

Это довольно новое дополнение к C# afaik – rolls

+0

Интересно, C# считается устаревшим? Или он просто старый и по-прежнему обновляется, как PHP? – Xevion

Смежные вопросы