如何保持重复的switch语句C#

时间:2018-06-24 22:08:16

标签: c# switch-statement

我正在编写一个程序来创建书籍列表,并且为此目的我编写了一些方法。我要显示要调用的方法的选项列表,然后一旦他们选择了一个选项,就一直显示这些选项,直到他们选择退出为止。

这是我到目前为止所拥有的:

List<Book> books = new List<Book>();

switch
{
    case 1:
        CardCatalog.AddBook(books);
        break;
    case 2:
        CardCatalog.ListBooks(books);
        break;
    default:
        CardCatalog.Save(books);
        break;
}

我已经编写了方法,现在我只需要使用它即可。如果他们选择选项1或2,则应该重复switch语句。如果他们选择选项3,则应该执行CardCatalog.Save(),并且switch语句不应重复。

我也希望每次都重复此声明:

Console.WriteLine("1. Add a Book\n2. List all books\n3. Save and exit");

但是我不知道如何将其包含在switch语句中,或者即使switch语句是解决此问题的正确方法(尽管我认为是这样)。

1 个答案:

答案 0 :(得分:0)

定义一个名为string的{​​{1}}变量。它将存储用户输入的选项。在while循环内,提示用户选择一个选项并将其存储在option中。进行计算(在option语句之前和之内)。继续执行此操作,直到输入不是预定键之一(在这种情况下为1和2)。

示例代码如下:

switch

如果掌握了本质,这就是我要做的事情:

string option = "1"; // Make sure we enter the while loop
while (option == "1" || option == "2")
{
    Console.WriteLine("1. Add a Book\n2. List all books\n3. Save and exit");
    option = Console.ReadLine();

    List<Book> books = new List<Book>(); // Do optional computation here

    switch (option)
    {
        case "1":
            CardCatalog.AddBook(books);
            break;
        case "2":
            CardCatalog.ListBooks(books);
            break;
        default:
            CardCatalog.Save(books);
            break;
    }
}