Прошел курс. Получил код 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 }