# Урок 3. Форматированный вывод

**URL:** <https://forum.itvdn.com/t/urok-3-formatirovannyj-vyvod/3034>\
**Category:** Справочник C# Starter\
**Created:** [15.01.2019 14:29:47 UTC](https://forum.itvdn.com/t/urok-3-formatirovannyj-vyvod/3034 "2019-01-15T14:29:47Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![admin.guide](https://forum.itvdn.com/letter_avatar_proxy/v4/letter/a/6a8cbe/32.png) [@admin.guide](https://forum.itvdn.com/u/admin.guide)\
**Post date:** [15.01.2019 14:29:47 UTC](https://forum.itvdn.com/t/urok-3-formatirovannyj-vyvod/3034/1 "2019-01-15T14:29:47Z")

</div>

При выводе строк на экран консоли используя методы `Console.Write()` или `Console.WriteLine()` можно применять форматирование вывода:

```
static void Main()
{
    int a = 1;
    Console.WriteLine("Это число {0}", a); //результат: вывод строки "Это число 1"

    int b = 2, c = 3;
    Console.WriteLine("Это числа {0} и {1}", b, c); //результат: вывод строки "Это числа 2 и 3"
    Console.WriteLine("Это числа наоборот {1} и {0}", b, c);//результат: вывод строки "Это числа 3 и 2"

    // Delay.
    Console.ReadKey();
}

```

Это достигается путём использования метода `string.Format()` (его вызывают методы `Console.Write()` и `Console.WriteLine()`).

![24](https://forum.itvdn.com/uploads/default/original/1X/550b9e639421f1a52fc9072c041c01906ead3222.jpeg)

Правила использования форматированного вывода:

- Позиция элемента подстановки, начинается с нуля (0,1,2,3,… и т.д.), указание большей позиции приведет к ошибке.
- Количество элементов подстановки должно совпадать с количеством маркеров подстановки (разных).
- Один и тот же элемент подстановки может подставляться в разные места строки (например, `Console.WriteLine("и {0}, и {0}", "тут");`)

Если элементы подстановки удобнее пользователю подставлять напрямую в строку (не используя маркеры подстановки), то можно использовать интерполяцию строк. Для её использования перед началом строки нужно поставить символ `$`, этот символ будет указывать компилятору, что в данной строке используется интерполяция строк. Пример использования интерполяции строк:

```
static void Main()
{
    int a = 1;
    Console.WriteLine($"Это число {a}"); //результат: вывод строки "Это число 1"

    int b = 2, c = 3;
    Console.WriteLine($"Это числа {b} и {c}"); //результат: вывод строки "Это числа 2 и 3"
    Console.WriteLine($"Это числа наоборот {c} и {b}");//результат: вывод строки "Это числа 3 и 2"

    // Delay.
    Console.ReadKey();
}

```

**Примечание** : при использовании интерполяции строк маркеры подстановки не работают.

Источник: видеоурок Александра Шевчука ["ВИДЕОУРОК №3. ПЕРЕМЕННЫЕ И ТИПЫ ДАННЫХ"](https://itvdn.com/ru/video/csharp-starter/data-types-and-variables?position=6495)

[![%D1%81%D1%82%D1%80%D0%B5%D0%BB%D0%BA%D0%B0%20%D0%B2%D0%BB%D0%B5%D0%B2%D0%BE%202](https://forum.itvdn.com/uploads/default/original/1X/b38ed3846d27463ae91c4449efd4de36bbb0b1b1.jpeg) предыдущая статья](https://forum.itvdn.com/t/urok-3-sczeplenie-strok/3033) | [следующая статья ![%D1%81%D1%82%D1%80%D0%B5%D0%BB%D0%BA%D0%B0%20%D0%B2%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%202](https://forum.itvdn.com/uploads/default/original/1X/6188b82e0808cd73a15f53f8e652f939106184bc.jpeg)](https://forum.itvdn.com/t/urok-3-flagi-formatirovaniya-strok/3035)
