C# 切换C后如何不退出方法#

C# 切换C后如何不退出方法#,c#,methods,switch-statement,C#,Methods,Switch Statement,所以我想知道如何在一个案例完成后使一个包含switch语句的方法不关闭。这就是我所做的 public static int Store(int cashyo) { int open = 1; while (open != 0) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("What would

所以我想知道如何在一个案例完成后使一个包含switch语句的方法不关闭。这就是我所做的

public static int Store(int cashyo)
    {
        int open = 1;

        while (open != 0)
        {
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("What would you like to buy?");
            Console.ForegroundColor = ConsoleColor.Red;
            string option = Console.ReadLine();

            switch (option)
            {
                case "bye":
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("Leaving store.");
                    Thread.Sleep(1500);
                    open = 0;
                    break;

                case "list":
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("Bike");
                    break;

                case "bike":
                    Console.ForegroundColor = ConsoleColor.Green;
                    if (cashyo >= 300)
                    {
                        Console.WriteLine("Purchased Bike for 300 USD!");
                        return (cashyo-3000);
                    }
                    else
                    {
                        Console.WriteLine("Canot purchase Bike. Insufficient amount of funds.");
                        return cashyo;
                    }
                    break;

            }
            return cashyo;
        }
        return cashyo;
    }

cashyo是一个虚拟变量,表示在main中使用的实际货币。我想这样做,如果我键入“bike”,它会购买自行车,然后再次询问我想做什么,因为open仍然不是0。

删除开关后的return语句,并删除bike部分中的2个return(您还需要在减法处设置新的cashyo值)。还注意到,您正在检查300,但在自行车部分减去3000


Return的意思是“离开这个过程”,所以它不会循环回来,因为你告诉它结束。

你知道
Return
关键字的作用吗?@BenVoigt我想不知道,已经编写了6天了。我知道我有点慢。你可以把你对
Store
的呼叫放在一个循环中,直到满足某个条件,比如用户说他们什么都不想买,或者诸如此类的东西。谢谢你。