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

Помимо GetCommandLineArgs класс Environment открывает доступ к ряду других чрезвычайно полезных методов. В частности, с помощью разнообразных статических членов этот класс позволяет получать детальные сведения, касающиеся операционной системы, под управлением которой в текущий момент функционирует ваше приложение .NET 5. Для оценки полезности класса System.Environment измените свой код, добавив вызов локального метода по имени ShowEnvironmentDetails:

// Локальный метод внутри операторов верхнего уровня.

ShowEnvironmentDetails;

Console.ReadLine;

return -1;

}

Реализуйте метод ShowEnvironmentDetails после операторов верхнего уровня, обращаясь в нем к разным членам типа Environment:

static void ShowEnvironmentDetails

{

// Вывести информацию о дисковых устройствах

// данной машины и другие интересные детали.

  foreach (string drive in Environment.GetLogicalDrives)

  {

    Console.WriteLine("Drive: {0}", drive);  // Логические устройства

 }

  Console.WriteLine("OS: {0}", Environment.OSVersion);

                                  // Версия операционной системы

  Console.WriteLine("Number of processors: {0}",

    Environment.ProcessorCount);  // Количество процессоров

  Console.WriteLine(".NET Core Version: {0}",

    Environment.Version);  // Версия платформы .NET Core

}

Ниже показан возможный вывод, полученный в результате тестового запуска данного метода:

***** My First C# App *****

Hello World!

Drive: C:\

OS: Microsoft Windows NT 10.0.19042.0

Number of processors: 16

.NET Core Version: 5.0.0

В типе Environment определены и другие члены кроме тех, что задействованы в предыдущем примере. В табл. 3.1 описаны некоторые интересные дополнительные свойства; полные сведения о них можно найти в онлайновой документации.

<p id="AutBody_Root83">Использование класса System.Console</p>

Почти во всех примерах приложений, создаваемых в начальных главах книги, будет интенсивно применяться класс System.Console. Справедливо отметить, что консольный пользовательский интерфейс может выглядеть не настолько привлекательно, как графический пользовательский интерфейс либо интерфейс веб-приложения. Однако ограничение первоначальных примеров консольными программами позволяет сосредоточиться на синтаксисе C# и ключевых аспектах платформы .NET 5, не отвлекаясь на сложности, которыми сопровождается построение настольных графических пользовательских интерфейсов или веб-сайтов.

Класс Console инкапсулирует средства манипулирования потоками ввода, вывода и ошибок для консольных приложений. В табл. 3.2 перечислены некоторые (но определенно не все) интересные его члены. Как видите, в классе Console имеется ряд членов, которые оживляют простые приложения командной строки, позволяя, например, изменять цвета фона и переднего плана и выдавать звуковые сигналы (еще и различной частоты).

<p id="AutBody_Root84">Выполнение базового ввода и вывода с помощью класса Console</p>

Дополнительно к членам, описанным в табл. 3.2, в классе Console определен набор методов для захвата ввода и вывода; все они являются статическими и потому вызываются с префиксом в виде имени класса (Console). Как вы уже видели, метод WriteLine помещает в поток вывода строку текста (включая символ возврата каретки). Метод Write помещает в поток вывода текст без символа возврата каретки. Метод ReadLine позволяет получить информацию из потока ввода вплоть до нажатия клавиши <Enter>. Метод Read используется для захвата одиночного символа из потока ввода.

Чтобы реализовать базовый ввод-вывод с применением класса Console, создайте новый проект консольного приложения по имени BasicConsoleIO и добавьте его в свое решение, используя следующие команды:

dotnet new console -lang c# -n BasicConsoleIO -o .\BasicConsoleIO -f net5.0

dotnet sln .\Chapter3_AllProjects.sln add .\BasicConsoleIO

Замените код Program.cs, как показано ниже:

using System;

Console.WriteLine("***** Basic Console I/O *****");

GetUserData;

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

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

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

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

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

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

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

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

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