Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоргалка на программирование.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
88.27 Кб
Скачать

10.Консольный ввод-вывод в языке c#.

Чтобы прочесть строку текста из консольного окна, используется метод Console. ReadLine (). Он читает входной поток (прерываемый нажатием клавиши <Enter>) из окна консоли и возвращает введенную строку. Есть также два соответствующих метода для записи на консоль, которые мы уже интенсивно использовали в примерах:

□Console .Write () — пишет заданное значение в консольное окно;

□Console. WriteLine () — делает то же самое, но добавляет символ новой строки в конец вывода.

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

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

string s Console.ReadLine () ;

Console.WriteLine(s);

Console .WriteLine () также позволяет отображать форматированный вывод способом, подобным функции printf () в С. Чтобы использовать Console .WriteLine () подобным образом, передаются несколько параметров. Первым идет строка, содержащая маркеры в фигурных скобках, которые указывают, куда будут вставлены последующие параметры. Каждый маркер содержит индекс (начиная с нуля), указывающий номер параметра из последующего списка. Например, {0} представляет первый пара¬метр из списка. Рассмотрим приведенный ниже код:

int. i - 10;

int j = 20;

Console. WriteLine ("10} плюс {1} равно {2}", i, j, i + j);

Этот код отобразит следующее:

10 плюс 20 равно 30

Вы можете также задать ширину вывода значения и выравнивание текста в пределах заданной ширины, используя положительные значения для выравнивания вправо и отрицательные — для выравнивания влево. Чтобы сделать это, используется формат {n, w}, где п — индекс параметра, aw — значение ширины:

int i = 940;

int j - 73;

Console.WriteLine (" {0, 4}\n+{1,4}\n\n {2,4}", i, J , i + j) ;

В результате получим:

940 + 73

1013

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

Таблица 2.9. Основные строки формата

Строка

Описание

с

Локальный формат валюты.

D

Десятичный формат. Конвертирует целые к основанию 10 и снабжает ведущими

 

нулями, если указан спецификатор точности.

E

Научный (экспоненциальный) формат. Спецификатор точности устанавливает

 

количество десятичных разрядов (по умолчанию 6). Регистр форматной строки

 

(е или Е) определяет регистр символа, представляющего экспоненту.

F

Формат с фиксированной запятой; спецификатор точности задает количество

 

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

G

Общий формат. Использует форматирование Е илиF,в зависимости от того,

 

какой из них более компактный.

N

Числовой формат. Форматирует число с разделителями тысяч — запятыми,

 

например: 32, 7 67.44.

P

Процентный формат.

X

Шестнадцатеричный формат. Спецификатор точности может бьпь использован

 

для указания ведущих нулей.

 Следует отметить, что форматные строки обычно зависят от регистра за исключением е/Е.

Если вы хотите использовать форматную строку, то должны поместить ее непо средственно после маркера, указывающего номер параметра и ширину ноля, отделяя ее двоеточием. Например, чтобы отформатировать значение типа decimal как денежное, принятое в данной местности, с точностью в два десятичных разряда, вы должны использовать С2:

decimal i = 940.23m;

decimal j = 73.7m;

Console.WriteLine(" { 0, 9:C2}\n+{1,9:C2}\n\n {2,9:C2)'\ i, j, j);

Ниже показан вывод этого кода для США:

$940.23

+ $73.70

$1,013.93

И в качестве заключительного трюка — вы можете использовать символы-заполнители вместо этих форматных строк, чтобы задать форматирование. Например:

double d = 0.234;

Coifkole .WriteLine (" {0 : # . 00} ", d) ;

Отображено будет .23, потому что символ # игнорируется, когда в этом месте нет символа, а нули заменяются либо символом, находящимся в этой позиции, либо нулями, если таковых нет.