为何控制台在输入标题后直接关闭?C#程序问题求助
问题原因
你代码里的new List<Book>(3)只是设置了列表的初始容量,并非自动创建3个Book实例,列表此时是空的。所以foreach循环没有任何元素可以迭代,代码执行完后程序直接退出,导致你误以为输入后程序关闭。
修正方案
方案一:先填充空Book实例再赋值
var books = new List<Book>(3); // 先添加3个空Book对象到列表 for (int i = 0; i < 3; i++) { books.Add(new Book()); } foreach (Book item in books) { item.Title = Console.ReadLine(); item.Countofpage = int.Parse(Console.ReadLine()); }
方案二:循环中创建并添加Book(更高效)
var books = new List<Book>(3); for (int i = 0; i < 3; i++) { var book = new Book(); book.Title = Console.ReadLine(); book.Countofpage = int.Parse(Console.ReadLine()); books.Add(book); }
额外提示
如果不想程序执行完立刻关闭,可在代码末尾添加:
Console.WriteLine("按任意键退出..."); Console.ReadKey();
内容的提问来源于stack exchange,提问作者Vasёк Play
相关产品推荐
相关产品推荐

