<MyRusakov.ru />

Создание игр на Unreal Engine 4

Создание игр на Unreal Engine 4

Данный курс научит Вас созданию игр на Unreal Engine 4. Курс состоит из 12 модулей, в которых Вы с нуля освоите этот движок и сможете создавать самые разные игры.

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

Помимо самого курса Вас ждёт ещё 5 бесплатных ценных Бонусов: «Динамическая смена дня и ночи», «Создание динамической погоды», «Создание искусственного интеллекта для NPC», «Создание игры под мобильные устройства» и «Создание прототипа RPG с открытым миром».

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Работа с пользовательским вводом в C#

Работа с пользовательским вводом в C#

Работа с пользовательским вводом - это базовая составляющая работы с программой. Благодаря ей возможно изменять поведение программы в ответ на внешние команды, вводимые пользователем, сохранять/редактировать/удалять данные и т.д.

Как получить вводимые пользователем в консоль данные в C#?

Ранее, в статьях посвященных C# Вы уже могли видеть такой вызов - Console.WriteLine() - выводящий в консоль некоторую, часто отладочную, информацию. Так вот у этого метода, есть противоположный метод, который считывает, вводимый пользователем текст из консоли, а затем этот текст обрабатывается каким-либо образом. Данный метод называется - Console.ReadLine().

В примере далее мы предоставим пользователю возможность ввести свое имя, которое будет сохранено в переменной uname. А затем просто напечатаем это имя обратно в консоль с некоторым дополнительным текстом.


// Пишем имя и нажимаем кнопку Enter
Console.WriteLine("Введите Ваше имя: ");

// считываем и сохраняем введенное пользователем имя в строковой переменной uname
string uname = Console.ReadLine();

// печатаем обратно на экране имя пользователя с некоторым опциональным текстом
// как видите конкатенация (соединения строк) в C# производится с помощью знака + (как и в Java и JavaScript)
Console.WriteLine("Здравствуйте, " + uname + "!"); 

Как считать число из консоли в C#?

Метод Console.ReadLine(), который мы использовали выше всегда возвращает строку, даже, если Вам нужно число, например. Но как же быть, если нам, например, понадобится получить возраст пользователя, который должен быть представлен числом?

Давайте, посмотрим на пример далее:



Console.WriteLine("Введите Ваш возвраст: ");  // 1

// считываем и сохраняем введенный пользователем возраст в переменную
int uage = Console.ReadLine(); // 2

// печатаем возраст в консоль и получаем...
Console.WriteLine("Здравствуйте, Вам: " + uage); // 3

// ошибку - Невозможно неявно преобразовать тип 'string' в 'int'на строке 2

Причина в том, что язык C# - язык со строгой статической типизацией, поэтому чтобы получить число из строки, нам необходимо самостоятельно преобразовать строку в число. Для этого в C# есть встроенный класс Convert, который содержит методы для явного преобразования типов.

Итак, посмотрим, как получить числовое представление возраста пользователя из строки ввода:


Console.WriteLine("Введите Ваш возраст: ");  // 1

// считываем и сохраняем введенный пользователем возраст в переменную, предварительно преобразовав ее в число
int uage = Convert.ToInt32(Console.ReadLine()); // 2

// печатаем возраст в консоль
Console.WriteLine("Здравствуйте, Вам: " + uage); // 3

В примере выше код сработает как ожидается, однако если вместо числа будет введена строка, то будет брошено исключение System.FormatException, сигнализирующее о том, что введенное значение некорректно.

Об исключениях в C# мы поговорим в следующих статьях, а здесь просто рассмотрим пример, как можно обработать исключение, и вывести некоторое корректное значение без аварийного завершения программы:


Console.WriteLine("Введите Ваш возраст: ");  // 1

// устанавливаем значение по умолчанию
int uage = 0;

try  // пытаемся выполнить код, который может выбросить ошибку
{
    // считываем и сохраняем введенный пользователем возраст в переменную, предварительно преобразовав ее в число
    uage = Convert.ToInt32(Console.ReadLine()); // 2
}
catch (System.FormatException){} // если получили ошибку, то просто ничего не делаем, значение переменной uage - неизменно


// печатаем возраст в консоль
Console.WriteLine("Здравствуйте, Вам: " + uage); // 3

В примере выше, даже после ввода некорректного значения в консоли, программа продолжит работу.

Таким образом, работа с пользовательским вводом в C# - это один из базовых навыков, которым надо овладеть в первую очередь.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (1):

logaut logaut 10.12.2020 04:34:03

Михаил, в самом первом примере в этой строке Console.WriteLine("Здравствуйте, " + uname + "!"); я бы одиночные символы писал не в двойных кавычках, а одинарных. Вот пример: Console.WriteLine("Здравствуйте, " + uname + '!');

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.