Что означает {0}, когда он найден в строке в C #?

В словаре вроде этого:

Dictionary openWith = new Dictionary(); openWith.Add("txt", "notepad.exe"); openWith.Add("bmp", "paint.exe"); openWith.Add("dib", "paint.exe"); openWith.Add("rtf", "wordpad.exe"); Console.WriteLine("For key = \"rtf\", value = {0}.", openWith["rtf"]); 

Выход:

Значение Key = “rtf” = wordpad.exe

Что означает {0} ?

Вы печатаете форматированную строку. {0} означает вставить первый параметр, следующий за строкой формата; в этом случае значение, связанное с ключом «rtf».

Для String.Format, который аналогичен, если у вас есть что-то вроде

 // Format string {0} {1} String.Format("This {0}. The value is {1}.", "is a test", 42 ) 

вы должны создать строку «Это тест . Значение 42 ».

Вы также можете использовать выражения и печатать значения несколько раз:

 // Format string {0} {1} {2} String.Format("Fib: {0}, {0}, {1}, {2}", 1, 1+1, 1+2) 

уступая “Fib: 1 , 1 , 2 , 3

Подробнее см. На http://msdn.microsoft.com/en-us/library/txafckwd.aspx , в котором говорится о составном форматировании.

Это заполнитель в строке.

Например,

 string b = "world."; Console.WriteLine("Hello {0}", b); 

будет производить этот результат:

 Hello world. 

Кроме того, вы можете иметь столько заполнителей, сколько пожелаете. Это также работает на String.Format :

 string b = "world."; string a = String.Format("Hello {0}", b); Console.WriteLine(a); 

И вы все равно получите тот же результат.

В дополнение к значению, которое вы хотите распечатать, {0} {1} и т. Д., Вы можете указать формат. Например, {0,4} будет значением, которое дополняется четырьмя пробелами.

Существует ряд встроенных спецификаторов формата, и, кроме того, вы можете создавать свои собственные. Для достойного учебника / списка см. Форматирование строк в C # . Кроме того, здесь есть FAQ.

Для дальнейшего использования в Visual Studio вы можете попробовать поместить курсор в имя метода (например, WriteLine) и нажать F1, чтобы вытащить помощь в этом контексте. В этом случае String.Format() должно найти вас String.Format() , с большим количеством полезной информации.

Обратите внимание, что выделение выделения (например, двойное нажатие или выбор перетаскивания) и нажатие клавиши F1 приводит к поиску неконтекстных строк (который, как правило, сосут в поиске чего-либо полезного), поэтому убедитесь, что вы просто позиционируете курсор в любом месте внутри слова, не выделяя его.

Это также полезно для документации по classам и другим типам.

Это заполнитель для первого параметра, который в вашем случае оценивает «wordpad.exe».

Если у вас есть дополнительный параметр, вы должны использовать {1} и т. Д.

Это заполнитель для параметра, очень похожий на спецификатор формата %s в printf .

Вы можете начать добавлять дополнительные вещи там, чтобы определить формат тоже, хотя это имеет больше смысла с числовой переменной ( примеры здесь ).

Это то, что мы назвали Composite Formatting .NET Framework, чтобы преобразовать значение объекта в его текстовое представление и вставить это представление в строку. Полученная строка записывается в выходной stream.

Перегруженный метод Console.WriteLine (String, Object) Записывает текстовое представление указанного объекта, за которым следует текущий ограничитель строки, в стандартный stream вывода с использованием указанной информации о формате.

  • Отключение автоматического форматирования в Visual Studio
  • Установить цвет области TextView в Android
  • VBA: преобразовать текст в число
  • Используйте пользовательский разделитель тысяч в C #
  • Лучший способ отображения десятичной дроби без конечных нhive
  • Преобразовать java.util.Date в строку
  • Форматирование DATE в oracle
  • Как я могу поместить int с ведущими нулями при использовании оператора cout <<?
  • Как я могу поместить целое число с нулями слева?
  • что такое идентификаторы формата scanf ("% * s") и scanf ("% * d")?
  • JPanel Padding в Java
  • Давайте будем гением компьютера.