Класс Console. Назначение, основные поля и методы, примеры.

Для работы с консолью в .NET используется класс Console. Удобство использование этого класса кроется в двух аспектах: все его методы являются статическими, так что не нужно создавать его экземпляр для использования. Во-вторых, предоставляет стандартные потоки для консольных приложений: входной, выходной и поток сообщений об ошибках. Этот класс не наследуется.

Синтаксис: public static class Console

Иерархия наследования:

System.Object

System.Console

Пространство имен: System

Методы:

Beep() – Воспроизводит звуковой сигнал через динамик консоли.

Clear – Удаляет из буфера консоли и ее окна отображаемую информацию.

OpenStandardError() – Получает стандартный поток сообщений об ошибках.

Read – Читает следующий символ из стандартного входного потока.

ReadKey() – Получает следующий нажатый пользователем символ или функциональную клавишу. Нажатая клавиша отображается в окне консоли.

ReadLine – Считывает следующую строку символов из стандартного входного потока.

Write(Boolean) – Записывает текстовое представление заданного логического значения в стандартный выходной поток.

Write(Char) – Записывает значение заданного знака Юникода в стандартный выходной поток.

WriteLine() – Записывает текущий признак конца строки в стандартный выходной поток.

Для работы с консолью обычно используется 4 метода: Read, ReadLine, Write и WriteLine. Первые два используются для ввода, последние - для вывода.

int nChar = 0x044F – 0x0410 + 1;

char[] chars = new char[nChars];

ushort codePoint = 0x0410;

for (int ctr = 0; ctr < chars.Length; ctr++)

{

chars[ctr] = Convert.ToChar(codePoint);

codePoint++;

}

Console.WriteLine(“Current code page: {0}\n”, Console.OutputEncoding.CodePage);

foreach (var ch in chars)

{

Console.Write(“{0}”, ch);

If (Console.CursorLeft >= 70)

Console.WriteLine();

}

Операторы ввода-вывода (Read, ReadLine, Write, WriteLine). Стандартный и настраиваемый вывод числовых данных. Назначения, синтаксис описания, примеры.

Методы — предназначенные для ввода и вывода находятся в классе Console, который в свою очередь находится в пространстве имён System.

Метод Read

Метод Read читает символ из потока ввода. Он возвращает значение типа int, равное коду прочитанного символа, либо -1, если ничего прочитано не было. Приведем пример программы:

do{ int i = Console.Read(); if (i != -1) Console.WriteLine("{0} ({1})", (char)i, i); else break;} while (true);

Эта программа выводит на экран введенные символы и их коды.

Метод ReadLine

Метод ReadLine читает из потока ввода строку текста (она завершается символом перевода строки или возврата каретки). Метод возвращает объект типа string или null, если ввод осуществить не удалось.

do{ string s = Console.ReadLine(); if (s != null) Console.WriteLine("Введенная строка: " + s); else break;} while (true);

Методы Write и WriteLine

Метод Write выводит на экран значение переданной ему переменной. Он определен для всех базовых типов и поддерживает форматированные строки. Таким образом, можно либо вызвать Write с указанным значением в качестве параметра:

Console.Write(1);Console.Write(0.754);Console.Write("Hello!");

Либо передать строку форматирования и список значений. В строке форматирования применяется множество модификаторов, здесь мы отметим лишь, что вмето "{n}" подставляется n-й входной параметр (нумерация начинается с 0):

Console.Write("Привет, {0}", Name);

Метод WriteLine отличается от Write только тем, что выводит символ перевода строки в конце.

17. Преобразование типов данных. Явное и неявное преобразование. Класс Convert, его основные методы, примеры. Метод Parse, синтаксис вызова, пример.

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

К неявным относятся те преобразования, результат выполнения которых всегда успешен и не приводит к потере точности данных. Неявные преобразования выполняются автоматически. Для арифметических данных это означает, что в неявных преобразованиях диапазон типа назначения содержит в себе диапазон исходного типа. Например, преобразование из типа byte в тип int относится к неявным, поскольку диапазон типа byte является подмножеством диапазона int. Это преобразование всегда успешно и не может приводить к потере точности. Заметьте, преобразования из целочисленных типов к типам с плавающей точкой относятся к неявным. Хотя здесь и может происходить некоторое искажение значения, но точность представления значения сохраняется, например, при преобразовании из long в double порядок значения остается неизменным.

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

Пример:

String astr, bstr;

astr=Concole.ReadLine();

bstr=Concole.ReadLine();

int a, b;

a=Convert.ToInt32(astr);

b=Convert.ToInt32(astr);

Метод Parse

Все скалярные типы (арифметический, логический, символьный) имеют статический метод Parse, аргументом которого является строка, а возвращаемым результатом - объект соответствующего типа. Метод явно выполняет преобразование текстового представления в тот тип данных, который был целью вызова статического метода. Понятно, что строка, представляющая аргумент вызова, должна соответствовать представлению данных соответствующего типа. Если это требование не выполняется, то в ходе выполнения метода возникнет исключительная ситуация.

String astr, bstr;

astr=Concole.ReadLine();

bstr=Concole.ReadLine();

int a, b;

a=int.Parse(astr);

b=int.Parse(bstr);

Наши рекомендации