|
Прошел курс. Получил код Dreamspark. Ввожу код на сайте, пишет: Срок действия этого кода проверки уже истек. Проверьте, правильно ли введен код. У вас осталось две попытки. Вы также можете выбрать другой способ проверки или предоставить соответствующие документы, подтверждающие ваш академический статус.
Как активировать код? |
Консольные приложения в С#
Организация консольного ввода-вывода в C#
Для организации ввода-вывода в C# предусмотрен класс System.Console. Он же предназначен для вывода сообщений об ошибках. Естественно, что этот класс чаще применяется в консольных приложениях. Системную консоль иногда называют командной строкой.
Основными методами класса являются WriteLine() и Write(). В отличие от метода Write() метод WriteLine() добавляет в конец строки символ новой строки \n автоматически. Метод ReadLine() позволяет считывать информацию с системной консоли до ближайшего символа \n, метод Read() считывает с системной консоли единственный символ.
-
Создайте консольное приложение с именем Test
-
Измените имя исходного файла на App.cs
-
Измените пространство имен на Test, а имя класса на BasicIO
-
Уберите аргументы у функции Main()
-
Заполните метод Main() следующим кодом
using System;
namespace Test
{
class BasicIO
{
static void Main()
{
// Тестируем пользователя
string name;
Console.Write("Введите Ваше имя: ");
name = Console.ReadLine(); // Читаем ввод после нажатия Enter
string age;
Console.Write("Введите Ваш возраст (лет): ");
age = Console.ReadLine(); // Читаем ввод после нажатия Enter
// Выводим полученную информацию на консоль
Console.WriteLine("\nПривет, дорогой {0}!
Вам {1} лет.", name, age);
while(true);
}
}
}
Листинг
20.30 .
Использование методов класса консольного ввода/вывода
Результаты экрана
Введите Ваше имя: Снетков В.М. Введите Ваш возраст (лет): 55 Привет, дорогой Снетков В.М.! Вам 55 лет.
-
Нажмите комбинацию клавиш Ctrl-C или Ctrl-Break, чтобы прервать работу приложения, зацикленного на бесконечном выполнении предложения while(true);
Средства форматирования строк в C#
В C++ в консольном выводе функции prinf() применяются спецификаторы форматирования %d, %s, %c и т.д. в отдельности для каждого встроенного типа данных. В C# в консольном выводе функций Console.Write() и Console.Writeln() применяются универсальные индексированные метки {0}, {1}, {2}, и т.д., содержащие порядковый номер выводимого параметра в списке параметров. Эти подстановочные выражения обозначают знакоместа ( placeholder ), куда будет выводиться значение соответствующего параметра из списка.
Знакоместо должно начинаться открывающей фигурной скобкой, а завершаться закрывающей {}. Чтобы отобразить содержащиеся в строке форматирования фигурные скобки на дисплее, их следует указать парно {{ или }}. Аналогично, чтобы вывести на дисплей символ обратной косой черты, его нужно заэкранировать в строке форматирования вторым таким же символом.
Параметры форматирования можно применять и для массивов. При этом подстановочные выражения будут указывать на элементы этого массива.
В подстановочном выражении можно указывать и более точные настройки формата с помощью дополнительных параметров форматирования. Параметры форматирования приведены в таблице, причем их можно указывать как строчными так и прописными буквами.
| Параметр | Значение |
|---|---|
| C, c | Используется для вывода значений в денежном ( Currency ) формате. По умолчанию перед выводимым значением подставляется символ доллара ($), хотя можно отменить подстановку этого символа при помощи объекта NumberFormatInfo. |
| D, d | Используется для вывода целых десятичных значений ( Decimal ). После этого символа можно указать количество значащих цифр. |
| E, e | Для вывода значений в экспоненциальном формате ( Scientific ). |
| F, f | Вывод значений с фиксированной точкой ( Fixed-point ). |
| G, g | Общий ( General ) формат.Применяется для вывода значений с фиксированной точностью или в экспоненциальном формате. |
| N, n | Стандартное числовое форматирование ( Number ) с использованием разделителей (пробелов или запятых) между разрядами. |
| X, x | Вывод значений в шестнадцатеричном формате ( Hexadecimal ). Если использовать заглавную X, то символы в шестнадцатеричном формате также будут заглавными. |
| R, r | Округление ( Round-trip ) |
Символы форматирования следуют в индексированных знакоместах сразу за номером подставляемого параметра через двоеточие:
{0:C}, {1:d}, {2:X} и т.д.Параметры форматирования можно использовать для формирования любых символьных строк с использованием статического метода String.Format().
-
Измените консольное приложение с именем Test, заполнив метод Main() следующим кодом
using System;
namespace Test
{
class BasicIO
{
static void Main()
{
// Форматирование без параметров
string theString = "Привет всем!";
int theInt = 15;
float theFloat = 9.99F;
double theDouble = 123.456789;
BasicIO theClass = new BasicIO();
// Вывод
Console.WriteLine("Без параметров форматирования:");
Console.WriteLine("string: {0}\nint: {1}\nfloat:
{2}\ndouble: {3}\nobject: {4}"
, theString, theInt, theFloat, theDouble, theClass);
Console.Write("\n\n");
// Форматирование массива
object[] array = {"Привет!", 20.9, 1,
"55", Math.PI};
Console.WriteLine("Элементы массива:\n{0}; {1};
{2}; {3}; {4}", array);
Console.Write("\n\n");
// Форматирование с параметрами
Console.WriteLine("С параметрами форматирования:");
Console.WriteLine("C format: {0:C}", 99989.987);
Console.WriteLine("D9 format: {0:D9}", 99999);
Console.WriteLine("E format: {0:E}", .31415926538 * 10);
Console.WriteLine("F format: {0:F3}", 55555.6666);
Console.WriteLine("N format: {0:N}", 99999);
Console.WriteLine("X format: {0:X}", 99999);
Console.WriteLine("x format: {0:x}", 99999);
Console.Write("\n\n");
// Предварительное форматирование в символьную строку
string str;
str = String.Format("C format: {0:C}", 99989.987);
Console.WriteLine("Предварительное
форматирование в символьную строку:");
Console.WriteLine(str);
// Аналогично, с предварительным форматированием...
str = "ФИО: {{ {0} }}, Возраст: {{ {1} }}";
str = String.Format(str, "Снетков В.М.", 55);
Console.WriteLine("\n\nПредварительное
форматирование в символьную строку:");
Console.WriteLine(str);
while(true);
}
}
}
Листинг
20.31 .
Иллюстрация способов форматирования консольного вывода
Результат форматирования вывода
Без параметров форматирования:
string: Привет всем!
int: 15
float: 9,99
double: 123,456789
object: Test.BasicIO
Элементы массива:
Привет!; 20,9; 1; 55; 3,14159265358979
С параметрами форматирования:
C format: 99 989,99р.
D9 format: 000099999
E format: 3,141593E+000
F format: 55555,667
N format: 99 999,00
X format: 1869F
x format: 1869f
Предварительное форматирование в символьную строку:
C format: 99 989,99р.
Предварительное форматирование в символьную строку:
ФИО: { Снетков В.М. }, Возраст: { 55 }