Вывод текста в консоль

Класс Console

Пространство имен System, входит в базовую библиотеку классов .NET (BCL)

Отвечает за чтение и запись текста в окно консоли, имеет два метода для вывода данных: Write() / WriteLine()

В среде Visual Studio поставьте курсор на слово Console и нажмите клавишу F12 — откроется просмотр кода этого класса

После этого откроется просмотр метаданных Console (это не исходный код, а встроенная функция декомпиляции VS, через неё можно посмотреть все методы, имя класса, принимаемые параметры и другие данные)

В описании класса Console мы видим готовые функции Write() / WriteLine(), которые можно вызывать в коде

Console.Write ()

После вывода текста не добавляет автоматический перевод строки, несколько последовательных выводов будут идти подряд в одной строке

            // Сокращенная запись (если сверху подключен using System, префикс System. можно убрать)
            Console.Write("Hello erveryone.");

            // Полная запись с указанием пространства имен
            System.Console.Write("This is foxdevelop.");
            System.Console.Write("This is com.");
            System.Console.Write("good luck.");Code language: JavaScript (javascript)

Скопируйте этот код внутрь метода Main и запустите программу

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HelloDemo
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Сокращенная запись (если сверху подключен using System, префикс System. можно убрать)
            Console.Write("Hello erveryone.");

            // Полная запись с указанием пространства имен
            System.Console.Write("This is foxdevelop.");
            System.Console.Write("This is com.");
            System.Console.Write("good luck.");
        }
    }
}Code language: JavaScript (javascript)

Результат выполнения

Hello erveryone.This is foxdevelop.This is com.good luck.Code language: CSS (css)

Текстовые литералы обязательно обрамляем двойными кавычками, одинарные кавычки для строк использовать нельзя

Console.WriteLine ()

Делает то же самое, что метод Write, но после каждого вывода автоматически добавляет символ перевода строки, каждый вывод будет на отдельной строке

Проще говоря: после каждого вывода курсор переносится на новую строку и ждёт следующего вывода информации

            Console.WriteLine("Hello erveryone.");

            Console.WriteLine("This is foxdevelop.");
            Console.WriteLine("This is com.");
            Console.WriteLine("good luck.");Code language: JavaScript (javascript)

Результат выполнения

Здесь каждый текст выводится на новой строке — всё из-за автоматического переноса после каждого вызова

Форматированные строки

(старый синтаксис с плейсхолдерами, до сих пор широко используется в старых проектах)

  • Формат передачи аргументов: Console.WriteLine(строка формата, значение0, значение1, ...)
  • Первый аргумент всегда строка формата, внутри неё используем метки подстановки вида {число}
  • Нумерация меток начинается с 0, порядок совпадает с последовательностью переданных значений
  • Несколько значений разделяем запятыми
        static void Main(string[] args)
        {
            Console.WriteLine(" {0} + {1} = {2}", 9, 6,9 + 6);
        }Code language: JavaScript (javascript)

Результат выполнения

 9 + 6 = 15

В строке » {0} + {1} = {2}» три плейсхолдера с порядковыми номерами, они соответствуют трём последующим аргументам: 9, 6 и результат вычисления 9+6 равный 15. Программа подставит эти цифры вместо меток {0}, {1}, {2}

Интерполяция строк

Новый синтаксис, появился в C# 6.0 и выше, очень удобный — прямо в плейсхолдеры пишем переменные

Перед строкой ставим символ $ для включения интерполяции, внутри фигурных скобок {} пишем названия переменных напрямую. Компилятор сам подставит значения переменных, дополнительные аргументы передавать не нужно

        static void Main(string[] args)
        {
            double pi = 3.14;
            string webSite = "foxdevelop.com";
            Console.WriteLine($"The Pi is {pi} and the website is {webSite}.");
        }Code language: JavaScript (javascript)

Результат выполнения

The Pi is 3.14 and the website is foxdevelop.com.Code language: CSS (css)

Несколько переменных в одной строке

В примере ниже показано использование нескольких плейсхолдеров с разными переменными в одной строковой шаблоне

int latitude = 36;
int longitude = 17;
string north = "N", east = "E", south = "S";
Console.WriteLine($"Широта {latitude}{north}, долгота {longitude}{east}");
Code language: JavaScript (javascript)

Результат запуска кода

Широта 36N, долгота 17E

Важные моменты

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

Вывод текста в консоль

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *