Читаем Язык программирования C#9 и платформа .NET5 полностью

Console.ReadLine;

static void GetUserData

{

}

На заметку! В Visual Studio и Visual Studio Code поддерживается несколько "фрагментов кода", которые после своей активизации вставляют код. Фрагмент кода cw очень полезен в начальных главах книги, т.к. он автоматически разворачивается в вызов метода Console.WriteLine. Чтобы удостовериться в этом, введите cw где-нибудь в своем коде и нажмите клавишу <ТаЬ>. Имейте в виду, что в Visual Studio Code клавишу <Tab> необходимо нажать один раз, а в Visual Studio — два раза.

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

static void GetUserData

{

  // Получить информацию об имени и возрасте.

  Console.Write("Please enter your name: ");  // Предложить ввести имя

  string userName = Console.ReadLine;

  Console.Write("Please enter your age: ");   // Предложить ввести возраст

  string userAge = Console.ReadLine;

  // Просто ради забавы изменить цвет переднего плана.

  ConsoleColor prevColor = Console.ForegroundColor;

  Console.ForegroundColor = ConsoleColor.Yellow;

  // Вывести полученную информацию на консоль.

  Console.WriteLine("Hello {0}! You are {1} years old.",

  userName, userAge);

  // Восстановить предыдущий цвет переднего плана.

  Console.ForegroundColor = prevColor;

}

После запуска приложения входные данные будут совершенно предсказуемо выводиться в окно консоли (с использованием указанного специального цвета).

<p id="AutBody_Root85">Форматирование консольного вывода</p>

В ходе изучения нескольких начальных глав вы могли заметить, что внутри различных строковых литералов часто встречались такие конструкции, как {0} и {1}. Платформа .NET 5 поддерживает стиль форматирования строк, который немного напоминает стиль, применяемый в операторе printf языка С. Попросту говоря, когда вы определяете строковый литерал, содержащий сегменты данных, значения которых остаются неизвестными до этапа выполнения, то имеете возможность указывать заполнитель, используя синтаксис с фигурными скобками. Во время выполнения все заполнители замещаются значениями, передаваемыми методу Console.WriteLine.

Первый параметр метода WriteLine представляет строковый литерал, который содержит заполнители, определяемые с помощью {0}, {1}, {2} и т.д. Запомните, что порядковые числа заполнителей в фигурных скобках всегда начинаются с 0. Остальные параметры WriteLine — это просто значения, подлежащие вставке вместо соответствующих заполнителей.

На заметку! Если уникально нумерованных заполнителей больше, чем заполняющих аргументов, тогда во время выполнения будет сгенерировано исключение, связанное с форматом. Однако если количество заполняющих аргументов превышает число заполнителей, то лишние аргументы просто игнорируются.

Отдельный заполнитель допускается повторять внутри заданной строки. Например, если вы битломан и хотите построить строку "9, Number 9, Number 9", тогда могли бы написать такой код:

// Джон говорит...

Console.WriteLine("{0}, Number {0}, Number {0}", 9);

Также вы должны знать о возможности помещения каждого заполнителя в любую позицию внутри строкового литерала. К тому же вовсе не обязательно, чтобы заполнители следовали в возрастающем порядке своих номеров, например:

// Выводит: 20, 10, 30

Console.WriteLine("{1}, {0}, {2}", 10, 20, 30);

Строки можно также форматировать с использованием интерполяции строк, которая рассматривается позже в главе.

<p id="AutBody_Root86">Форматирование числовых данных</p>

 Если для числовых данных требуется более сложное форматирование, то каждый заполнитель может дополнительно содержать разнообразные символы форматирования, наиболее распространенные из которых описаны в табл. 3.3.

Перейти на страницу:

Похожие книги

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT