Для работы с консолью в С# применяется класс Console, определенный в пространстве имен System. Методы этого класса Write и WriteLine и будут использоваться в дальнейших программах. Рассмотрим листинг 2.
Листинг 1 – Методы вывода
using System;
namespace ConsoleApplication1
{ class Program
{ static void Main(string[] args)
{int i = 3;
double y = 4.12;
decimal d = 600m;
string s = "Пробный расчет";
Console.WriteLine ( "y={0} \nd={1}",y,d );
Console.WriteLine ( "i = " + i);
Console.WriteLine ( "s = " + s);
}
}
}
Результат работы программы:
у = 4.12
d = 600
i = 3
s = Пробный расчет
Метод WriteLine может быть использован для вывода значений переменных и литералов различных встроенных типов. Это возможно благодаря тому, что в классе Console существует несколько вариантов методов с именами Write и WriteLine, предназначенных для вывода значений различных типов.
Методы с одинаковыми именами, но разными параметрами называются перегруженными. Компилятор определяет, какой из методов вызван, по типу передаваемых в него величин. Методы вывода в классе Console перегружены для всех встроенных типов данных, кроме того, предусмотрены варианты форматного вывода.
Листинг 2 содержит два наиболее употребительных варианта вызова методов вывода. Сначала обратите внимание на способ вывода пояснений к значениям переменных. Пояснения представляют собой строковые литералы. Если метод WriteLine вызван с одним параметром, он может быть любого встроенного типа, например, числом, символом или строкой. Нам же требуется вывести в каждой строке не одну, а две величины: текстовое пояснение и значение переменной, – поэтому, прежде чем передавать их для вывода, их требуется «склеить» в одну строку с помощью операции «+».
Перед объединением строки с числом надо преобразовать число из его внутренней формы представления в последовательность символов, т.е. в строку. Преобразование в строку определено во всех стандартных классах С# – для этого служит метод ToString( ). В данном случае он выполняется неявно, но можно вызвать его и явным образом:
Console.WriteLine ( "i = " + i.ToString( ) );
Оператор
Console.WriteLine ( "y={0} \nd={1}",y,d );
использует другой вариант метода WriteLine – форматный вывод. При этом оператор вывода содержит более одного параметра. Первым параметром методу передается строковый литерал, содержащий помимо обычных символов, предназначенных для вывода на консоль, параметры в фигурных скобках, а также управляющие последовательности.
Параметры нумеруются с нуля, перед выводом они заменяются значениями соответствующих переменных в списке вывода: нулевой параметр заменяется значением первой переменной (в данном примере – у), первый параметр – второй переменной (в данном примере – d) и т. д.
Из управляющих последовательностей чаще всего используются символы перевода строки «\n», как в данном случае, и горизонтальной табуляции «\t».