无法弄清楚为什么我的程序表现不同

WB1975

知名会员
已加入
2020年4月3日
留言内容
87
编程经验
Beginner
嗨,大家好,

我只是无法弄清楚为什么我的程序与下面的教程表现不同,我已经一遍又一遍地检查了代码(尽管我打赌你这是我错过的愚蠢的东西,通常是)

问题在于,他的程序与众不同,在于他创建了新的汽车对象后,再次向他显示菜单:

选择一个动作:\ n(0)退出\ n(1)添加到库存\ n(2)将汽车添加到购物车\ n(3)进行结帐"

我的程序只想在不显示先前对象的情况下再次添加汽车,就像该方法只是不被再次调用以接受用户选择,我也不知道为什么。

这条线似乎是我创建新车后看到的第一条。

还有,两者之间有什么区别

static public

and

public static?

C#:



C#:
using CarClassLibrary;
using System;

namespace CarShopConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Store s = new Store();

            Console.WriteLine("Welcome to the car store. First you must create some car inventory. Then you may add some cars to the shopping cart. Finally you can checkout which will give you the value of the shopping cart.");

            int action = ChooseAction();
          
            while (action != 0)
            {
                Console.WriteLine("You chose " + action);
                switch (action)
                {
                    case 1:
                        Console.WriteLine("You chose to add a new car to the inventory.");

                        string carMake = "";
                        string carModel = "";
                        Decimal carPrice = 0;

                        Console.WriteLine("What is the car make? eg: Ford, Nissan, Toyota etc");
                        carMake = Console.ReadLine();

                        Console.WriteLine("What is the car model? eg: Cortina, Sentra, Corrola etc");
                        carModel = Console.ReadLine();

                        Console.WriteLine("What is the car price?");
                        carPrice = int.Parse(Console.ReadLine());

                        Car newCar = new Car(carMake, carModel, carPrice);
                        s.CarList.Add(newCar);

                        PrintInventory(s);
                        break;
                        
                }
            }

            

          
        }

        private static void PrintInventory(Store s)
        {
            foreach(Car c in s.CarList)
            {
                Console.WriteLine("Car: " + c.Make + " " + c.Model + " " + c.Price);
            }
        }

        static public int ChooseAction ()
        {
            int choice = 0;
            Console.WriteLine("选择一个动作:\ n(0)退出\ n(1)添加到库存\ n(2)将汽车添加到购物车\ n(3)进行结帐");
            choice = int.Parse(Console.ReadLine());
            return choice;
        }
    }
}
 

约翰·H

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
1,049
地点
挪威
编程经验
10+
还有,两者之间有什么区别

静态公众



公共静态?
含义相同,它们都是修饰符。一个是访问修饰符,另一个是访问修饰符,而不是实例。有一个首选的修饰符顺序,该规则默认情况下是静默的,因此并不重要。
csharp_preferred_modifier_order =公共,私有,受保护,内部,静态,外部,新,虚拟,抽象,密封,覆盖,只读,不安全,易失,异步:无声
.NET编码约定设置,用于EditorConfig-Visual Studio
访问修饰符放在首位,这对我来说似乎合乎逻辑,并易于阅读。
 
最佳 底部