В этом руководстве мы узнаем, как принимать ввод от пользователя и отображать вывод на C # с помощью различных методов.
Вывод C #
Чтобы что-то вывести на C #, мы можем использовать
System.Console.WriteLine () ИЛИ System.Console.Write ()
Здесь, System
это пространство имен, Console
это класс в пространстве имен System
и WriteLine
и Write
методы класса Console
.
Давайте посмотрим на простой пример, который выводит строку на экран вывода.
Пример 1: Печать строки с помощью WriteLine ()
using System; namespace Sample ( class Test ( public static void Main(string() args) ( Console.WriteLine("C# is cool"); ) ) )
Когда мы запустим программу, вывод будет
C # - это круто
Разница между методом WriteLine () и Write ()
Основное различие между WriteLine()
и Write()
заключается в том, что Write()
метод печатает только предоставленную ему строку, в то время как WriteLine()
метод печатает строку и также перемещается в начало следующей строки.
Давайте посмотрим на приведенный ниже пример, чтобы понять разницу между этими методами.
Пример 2: Как использовать методы WriteLine () и Write ()?
using System; namespace Sample ( class Test ( public static void Main(string() args) ( Console.WriteLine("Prints on "); Console.WriteLine("New line"); Console.Write("Prints on "); Console.Write("Same line"); ) ) )
Когда мы запустим программу, вывод будет
Печать на новой строке Печать на той же строке
Печать переменных и литералов с помощью WriteLine () и Write ()
Метод WriteLine()
and Write()
можно использовать для печати переменных и литералов. Вот вам пример.
Пример 3: Печать переменных и литералов
using System; namespace Sample ( class Test ( public static void Main(string() args) ( int value = 10; // Variable Console.WriteLine(value); // Literal Console.WriteLine(50.05); ) ) )
Когда мы запустим программу, вывод будет
10 50,05
Объединение (конкатенация) двух строк с помощью оператора + и их печать
Строки можно комбинировать / объединять с помощью +
оператора во время печати.
Пример 4: Печать составной строки с использованием оператора +
using System; namespace Sample ( class Test ( public static void Main(string() args) ( int val = 55; Console.WriteLine("Hello " + "World"); Console.WriteLine("Value = " + val); ) ) )
Когда мы запустим программу, вывод будет
Ценность Hello World = 55
Печать объединенной строки с использованием форматированной строки (лучшая альтернатива)
Лучшая альтернатива для печати объединенной строки - использовать форматированную строку. Форматированная строка позволяет программисту использовать заполнители для переменных. Например,
Следующая строка,
Console.WriteLine ("Значение =" + значение);
можно заменить на,
Console.WriteLine ("Значение = (0)", значение);
(0)
- заполнитель для переменной val, которая будет заменена значением val. Поскольку используется только одна переменная, есть только один заполнитель.
В форматированной строке можно использовать несколько переменных. Мы увидим это в примере ниже.
Пример 5: Печать составной строки с использованием форматирования строки
using System; namespace Sample ( class Test ( public static void Main(string() args) ( int firstNumber = 5, secondNumber = 10, result; result = firstNumber + secondNumber; Console.WriteLine("(0) + (1) = (2)", firstNumber, secondNumber, result); ) ) )
Когда мы запустим программу, вывод будет
5 + 10 = 15
Здесь (0)
заменяется на firstNumber, (1)
заменяется на secondNumber и (2)
заменяется на результат. Такой способ вывода на печать более читабелен и менее подвержен ошибкам, чем использование +
оператора.
Чтобы узнать больше о форматировании строк, посетите раздел Форматирование строк C #.
C # Ввод
В C # самый простой способ получить ввод от пользователя - использовать ReadLine()
метод Console
класса. Тем не менее, Read()
и ReadKey()
также доступны для получения данных от пользователя. Они тоже включены в Console
класс.
Пример 6: Получение строкового ввода от пользователя
using System; namespace Sample ( class Test ( public static void Main(string() args) ( string testString; Console.Write("Enter a string - "); testString = Console.ReadLine(); Console.WriteLine("You entered '(0)'", testString); ) ) )
Когда мы запустим программу, вывод будет:
Введите строку - Hello World Вы ввели "Hello World"
Разница между методами ReadLine (), Read () и ReadKey ():
Разница между ReadLine()
, Read()
и ReadKey()
:
ReadLine()
:ReadLine()
Метод считывает следующую строку ввода из стандартного потока ввода. Возвращает ту же строку.Read()
:Read()
Метод считывает следующий символ из стандартного входного потока. Он возвращает значение ascii символа.ReadKey()
:ReadKey()
Метод получает следующую клавишу, нажатую пользователем. Этот метод обычно используется для удержания экрана до тех пор, пока пользователь не нажмет клавишу.
Если вы хотите узнать больше об этих методах, вот интересное обсуждение StackOverflow на: Разница между Console.Read () и Console.ReadLine () ?.
Пример 7: Разница между методами Read () и ReadKey ()
using System; namespace Sample ( class Test ( public static void Main(string() args) ( int userInput; Console.WriteLine("Press any key to continue… "); Console.ReadKey(); Console.WriteLine(); Console.Write("Input using Read() - "); userInput = Console.Read(); Console.WriteLine("Ascii Value = (0)",userInput); ) ) )
Когда мы запустим программу, вывод будет
Нажмите любую клавишу, чтобы продолжить… x Ввод с помощью Read () - Изучение C # Ascii Value = 76
Из этого примера должно быть ясно, как ReadKey()
и Read()
метод работает. При использовании ReadKey()
, как только клавиша нажата, она отображается на экране.
Когда Read()
используется, он занимает всю строку, но возвращает только значение ASCII первого символа. Следовательно, печатается 76
(значение ASCII L
).
Чтение числовых значений (целочисленные и с плавающей запятой)
Читать символ или строку в C # очень просто. Все, что вам нужно сделать, это вызвать соответствующие методы по мере необходимости.
Но чтение числовых значений в C # может быть немного сложным. Мы по-прежнему будем использовать тот же ReadLine()
метод, который мы использовали для получения строковых значений. Но поскольку ReadLine()
метод получает ввод в виде строки, его необходимо преобразовать в целочисленный тип или тип с плавающей запятой.
Один простой подход к преобразованию наших входных данных - использование методов Convert
класса.
Пример 8: Чтение числовых значений от пользователя с использованием класса Convert
using System; namespace UserInput ( class MyClass ( public static void Main(string() args) ( string userInput; int intVal; double doubleVal; Console.Write("Enter integer value: "); userInput = Console.ReadLine(); /* Converts to integer type */ intVal = Convert.ToInt32(userInput); Console.WriteLine("You entered (0)",intVal); Console.Write("Enter double value: "); userInput = Console.ReadLine(); /* Converts to double type */ doubleVal = Convert.ToDouble(userInput); Console.WriteLine("You entered (0)",doubleVal); ) ) )
Когда мы запустим программу, вывод будет
Введите целое число: 101 Вы ввели 101 Введите двойное значение: 59.412 Вы ввели 59.412
Метод ToInt32()
and ToDouble()
класса Convert преобразует строковый ввод в целочисленный и двойной тип соответственно. Точно так же мы можем преобразовать ввод в другие типы. Вот полный список доступных методов для класса Convert.
Есть и другие способы получить от пользователя числовые данные. Чтобы узнать больше, посетите Чтение целого числа из пользовательского ввода.