Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР01 Введение в MS VS 2008.doc
Скачиваний:
0
Добавлен:
08.11.2019
Размер:
3.95 Mб
Скачать

Основные вспомогательные классы Класс Console

При создании всех консольных приложений для ввода данных с клавиатуры и вывода текста в стандартное консольное окно используется статический класс System.Console из библиотеки FCL. Данный класс является статическим, т.е. все методы данного класса доступны не с помощью ссылки на объекты класса, а с помощью названия класса, например, Console.Write(). Основные методы класса Console приведены в табл. 1.

Таблица 1.

Основные методы статического класса Console

Метод

Описание

ReadLine()

читает строку символов, введенную с клавиатуры, которая завершается нажатием клавиши Enter; возвращает строку типа string

Read()

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

Write(),

WriteLine

вывод значений различных типов в консольное окно; без перехода и с переходом на новую строку

Clear()

очистка содержания консольного окна

Beep()

издается звуковой сигнал через динамик компьютера

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

string ss;

ss = Console.ReadLine();

int a = Convert.ToInt32(ss);

Как показано в данном примере преобразование строковых данных введенных с клавиатуры обычно используется статический класс System.Convert, который кроме прочих преобразований между значениями встроенных типов, выполняет преобразование строковых типов в заданный встроенный тип. Для этого у него имеется множество методов с названием Convert.To<тип>(string s), где <тип> – это название системного типа CLR, в который выполняется преобразование. Соответствие между системынми типами и встроенными типами языка C# можно посмотреть в табл. 3.1. Следует отметить, что для переменных с дробной частью следует использовать запятую (а не точку, как это принято в языке программирования. Например:

string s = "45,75"; // используется запятая, как обычно

float ff = Convert.ToSingle(s);

Метод Write() с форматированием

В классе Console имеется много перегруженных вариантов методов Write и WriteLine. Одним из наиболее используемых вариантов являются методы выполняюшие форматирование вывода с заголовком:

public static string WriteLine(string, obj0, obj1,...);

Например:

Console.WriteLine("s1={0}, s2={1}", s1,s2);

При вызове данного метода в качестве первого параметра передается строка, которая форматирует формат вывода на экран. Форматирующая строка помимо простого текста (который выводится без изменений), также содержит спецификации, заключенные в фигурные скобки. Параметр типа string задает форматируемую строку, например, “x={0}”. Заданная строка содержит один или несколько спецификаций, заключенных в фигурные скобки, например, “{0}”. Число спецификаций, вставленных в формат должно соответствовать число значений, стоящих после формата. Каждая спецификация задает форматирование вывода значения, на которую она ссылается и которое, после преобразования его в строку, будет выведено на экран вместо формата. Специфиции имеют следующий общий вид:

{N [,M [:<коды_форматирования>]]}

Здесь обязательный параметр N задает индекс объекта, который обрабатывается данной спецификацией. Индексация объектов начинается с нуля. Второй параметр M, если он задан, определяет минимальную ширину поля, которое отводится строке, вставляемой вместо формата. Третий необязательный параметр задает шаблон вывода или коды форматирования, указывающие, как следует выполнять вывод значения. Например, код C (Currency) говорит о том, что параметр должен форматироваться как валюта с учетом национальных особенностей представления. Код P (Percent) задает форматирование в виде процентов с точностью до сотой доли. Можно составить шаблон вывода из символов #, 0 , десятичной точки (например: ####.00), где # - пробел или число (пробели в начале не делаются), а 0 – ноль или число. Пример использования метода WriteLine показан ниже:

public void TestFormat(){

float x = 77.77;

Console.WriteLine("x={0}",x);

Console.WriteLine("Итого:{0,10} рублей",x);

Console.WriteLine("Итого:{0,6:######} рублей",x);

Console.WriteLine("Итого:{0:P} ",0.77);

Console.WriteLine("Итого:{0,4:C} ",77.77);

}//TestFormat

Результаты работы данного кода показаны на рис. 13.

Рис. 13.  Результаты работы метода Console.WriteLine().