Вывод записей из списка. Ошибка - C#
Формулировка задачи:
Подскажите пожалуйста, проблема с выводом, прошу помощи.)
Заранее спасибо..
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace lab_16___2
- {
- class Books
- {
- public string Name { get; set; }
- public string Publisher { get; set; }
- public string YearPublisher { get; set; }
- }
- class Program
- {
- public static string Menu(string selection)
- {
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.WriteLine("Меню:\n1.Ввода записей в список.\n2.Вывод записей из списка.\n3.Добавление записи в список.\n4.Очистка.\n5.Выход.");
- Console.ForegroundColor = ConsoleColor.White;
- selection = Console.ReadLine();
- while (selection != "1" && selection != "2" && selection != "3" && selection != "4" && selection != "5")
- {
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine("Некорректный ввод.");
- Console.ForegroundColor = ConsoleColor.White;
- selection = Console.ReadLine();
- }
- return selection;
- }
- static void Main(string[] args)
- {
- List<Books> bibl = new List<Books>();
- string selection = string.Empty;
- int count = 1, counter = 1, counter2 = 0;
- ConsoleKeyInfo x;
- Console.ForegroundColor = ConsoleColor.White;
- while (selection != "5")
- {
- selection = Menu(selection);
- switch (selection)
- {
- case "1":
- do
- {
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.WriteLine("\nВведите {0}-ю запись", count);
- Console.WriteLine("Введите имя издателя: ");
- bibl.Add(new Books() { Name = Console.ReadLine() });
- Console.WriteLine("Введите автор книги:");
- bibl.Add(new Books() { Publisher = Console.ReadLine() });
- Console.WriteLine("Введите год издания: ");
- bibl.Add(new Books() { YearPublisher = Console.ReadLine() });
- ++count;
- Console.ForegroundColor = ConsoleColor.White;
- Console.WriteLine("ESC - для прекращения ввода; ENTER - продолжить;");
- x = Console.ReadKey(true);
- if (x.Key == ConsoleKey.Escape && count <= 1)
- {
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine("(ENTER) Введено меньше 5-ти значений. Повторите ввод, пока кол-во значений не будет равно 5.");
- x = Console.ReadKey(false);
- Console.ForegroundColor = ConsoleColor.White;
- }
- }
- while (x.Key != ConsoleKey.Escape);
- break;
- case "2":
- Console.WriteLine("Вывод записей:");
- foreach(Books b in bibl)
- {
- counter2++;
- Console.WriteLine("\nИздатель[{0}] = {1} \nАвтор[{0}] = {2} \nГод[{0}] = {3}",counter,b.Name,b.Publisher,b.YearPublisher);
- if (counter2 % 3 == 0)
- {
- counter++;
- }
- }
- break;
- case "3":
- do
- {
- Console.WriteLine("\nВведите {0}-ю запись", count);
- Console.WriteLine("Введите имя издателя: ");
- bibl.Add(new Books() { Name = Console.ReadLine() });
- Console.WriteLine("Введите автор книги:");
- bibl.Add(new Books() { Publisher = Console.ReadLine() });
- Console.WriteLine("Введите год издания: ");
- bibl.Add(new Books() { YearPublisher = Console.ReadLine() });
- ++count;
- Console.WriteLine("ESC - для прекращения ввода; ENTER - продолжить;");
- x = Console.ReadKey(true);
- if (x.Key == ConsoleKey.Escape && bibl.Count() < 5)
- {
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine("(ENTER) Введено меньше 5-ти значений. Повторите ввод, пока кол-во значений не будет равно 5.");
- x = Console.ReadKey(false);
- Console.ForegroundColor = ConsoleColor.White;
- }
- }
- while (x.Key != ConsoleKey.Escape);
- break;
- case "4":
- Console.Clear();
- break;
- case "5":
- Environment.Exit(0);
- break;
- }
- }
- Console.ReadKey();
- }
- }
- }
80 строка, чет я запутался
Решение задачи: «Вывод записей из списка. Ошибка»
textual
Листинг программы
- Console.WriteLine("Вывод записей:");
- foreach (Books b in bibl)
- {
- Console.WriteLine("\nКнига № {0}", ++counter2);
- Console.WriteLine(b);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д