如果用户键入“停止”,如何保存输入的作品

时间:2016-09-27 11:15:39

标签: c#

如果用户输入“停止”,那么保存此信息的最简单方法是什么?因此,如果我重新打开该程序,信息仍将是他们的。 问我是否需要帮助澄清我的意思。

protected List<ReactPackage> getPackages() {
  return Arrays.<ReactPackage>asList(
      new SQLitePluginPackage(this),
      new MainReactPackage();
  );

1 个答案:

答案 0 :(得分:0)

由于bookListList<string>,您可以使用:

File.WriteAllLines("books.txt", bookList);

我建议在键入&#34;停止&#34;时使用break;转义你的for循环。然后在for循环之后实现我在上面提供的代码。

并在应用程序启动时将其加载回来,假设文件存在:

if(File.Exists("books.txt"))
{
    bookList = File.ReadAllLines("books.txt").ToList();
}

根据我的说法,这里是我所谈论的完整代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace LibraryWork
{

    class Program
    {
        static void Main(string[] args)
        {
            var bookList = new List<string>();
            if(File.Exists("books.txt")) //Check if file exists.
            {
                bookList = File.ReadAllLines("books.txt").ToList(); //Load the file and convert it to a list.
            }
            string ansSearch = String.Empty;
            string search = String.Empty;
            int i = 1;
            for (int zero = 0; i > zero; i++)
            {
                Console.Write("Type ");
                Console.ForegroundColor = ConsoleColor.Cyan;
                Console.Write("'New'");
                Console.ForegroundColor = ConsoleColor.White;
                Console.Write(" if you would you like to enter a new book. Type ");
                Console.ForegroundColor = ConsoleColor.Green;
                Console.Write("'List' ");
                Console.ForegroundColor = ConsoleColor.White;
                Console.Write("to see a list of books entered. Type ");
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.Write("'Search' ");
                Console.ForegroundColor = ConsoleColor.White;
                Console.Write("to look up a specific book.");
                Console.Write(" And if you want to exit. Type ");
                Console.ForegroundColor = ConsoleColor.Red;
                Console.Write("'Stop'.");
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine();




                string answer = Console.ReadLine();

                if (answer == "Stop")
                {
                    break; //Escape the loop.
                }

                if (answer == "New")
                {
                    Console.Write("Please format the Entry of your book as follows: ");
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.Write("'Name of the Book',");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("'Author (first, last)',");
                    Console.ForegroundColor = ConsoleColor.DarkGreen;
                    Console.Write("'Category',");
                    Console.ForegroundColor = ConsoleColor.DarkYellow;
                    Console.Write("'Dewey Decimal Number'.");
                    Console.ForegroundColor = ConsoleColor.White;
                    Console.WriteLine();
                    bookList.Add("Entry " + i + ": " + Console.ReadLine());
                    continue;
                }
                if (answer == "List")
                {
                    bookList.ForEach(Console.WriteLine);
                    Console.WriteLine("Press enter to continue");
                    Console.ReadLine();
                    i--;
                    continue;
                }
                if (answer == "Search")
                {
                    Console.WriteLine("What would you like to search for (Title: Full Title; Author: first, last): ");
                    search = Console.ReadLine();
                    var results = bookList.Where(x => x.Contains(search)).ToList();
                    bool isEmpty = !results.Any();
                    if (isEmpty)
                    {
                        i--;
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("Sorry, we could not find that.");
                        Console.ForegroundColor = ConsoleColor.White;
                        continue;
                    }
                    foreach (var result in results)
                    {
                        Console.WriteLine(result);

                    }




                    Console.WriteLine("Press Enter to continue");
                    Console.ReadLine();
                    results.Clear();
                    i--;
                    continue;
                }
                i--;
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Incorrect Response, please try again");
                Console.ForegroundColor = ConsoleColor.White;
            }
            //We end up here after breaking from the loop.
            File.WriteAllLines("books.txt", bookList); //Save our list of books.
        }
    }

}