Вывод записей из списка. Ошибка - 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); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д