Другие языки программирования и технологии

Оператор ввода в C#

Подскажите консольный оператор ввода в C#. Например в С++ это - "cin>>"

Например мне нужно составить программу -

{
int a; // Первое число
int b; // Второе число
int c; // Сумма чисел

Console.WriteLine("...");
...//Ввод перменной a

Console.WriteLine("...");
...//Ввод переменной b

c = a+b;

Console.WriteLine(c);
Console.Realine();
}
Для ввода используются

Console.Read();
Console.ReadLine();

Первый считывают символ со стандартного входного потока, второй - строку символов.
Отличаются тем, что первый возвращает Int32, второй string. В C# используется Юникод, именно поэтому символьный поток считывается как число. В дальнейшем требуется явное преобразование с типу Char.

x = Console.Read();
char ch = Convert.ToChar(x);

Для второго метода, если результат присваивается к строковой переменной, то преобразовывать нет смысла, иначе по аналогии с первым методом. Существуют возможности преобразования к любому базовому типу. Возможно два варианта. Первый - сначала результат присваивается переменной типа string (это в том случае, когда точно не известно, что будет введено, но в дальнейшем, в зависимости от содержания будет определятся ход программы).. .

string str = "";
str = Console.ReadLine();

а далее в зависимости от ситуации (определяется в исключениях) можно, например:

int n = Convert.ToInt32(str);

или

double = Convert.ToDouble(str);

Для вывода

Console.Write();
Console.WriteLine();

Записывают текстовое представление заданного значения или значений в стандартный выходной поток. Но второй это делает с признаком конца строки. Поэтому следующая конструкция

Console.WriteLine();

аналогична

cout << endl;

либо

printf("\n");

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

int x = 5, y = 10, max;
max = (x > y) ? x : y;
string line = "Максимальное значение";

Console.WriteLine("Максимальное значение = {0}", max);
Console.WriteLine("{0} = {1}",line, max);
Console.Write(line);
Console.Write(" = ");
Console.WriteLine(max);

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

Int16 aa = 8, bb = 25;
Console.Write("{0} {1}", aa, bb); // Выход 8 25
Console.WriteLine();
Console.Write("{1} {0}", aa, bb); // Выход 25 8

Для выполнения остановки в программе используется

Console,ReadKey();

он аналогичен getch() в Си
Юрий Ермошенко
Юрий Ермошенко
83 410
Лучший ответ
В чем проблема? Есть тот же метод Console.ReadLine.
string line = Console.ReadLine();
int a = int.Parse(line);
line = Console.ReadLine();
int b = int.Parse(line);
line = Console.ReadLine();
int c = int.Parse(line);
Spartak Semenov
Spartak Semenov
5 305