Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 哪个参数需要开关中的Case来调用对象的方法?_C#_Object_Parameters_Switch Statement - Fatal编程技术网

C# 哪个参数需要开关中的Case来调用对象的方法?

C# 哪个参数需要开关中的Case来调用对象的方法?,c#,object,parameters,switch-statement,C#,Object,Parameters,Switch Statement,我想用C#和moneyBox类构建一个piggy Bank应用程序。现在我遇到了一些问题,需要调用一个方法来更改对象中的硬币属性。我想构建一个类似于菜单的开关,通过调用我的方法来保存案例。案例“存款”需要一个参数来调用该方法,但我不知道它需要哪个参数。也许有人能帮我 class Program { public static List<moneyBox> moneyBoxes = new List<moneyBox>(); public st

我想用C#和moneyBox类构建一个piggy Bank应用程序。现在我遇到了一些问题,需要调用一个方法来更改对象中的硬币属性。我想构建一个类似于菜单的开关,通过调用我的方法来保存案例。案例“存款”需要一个参数来调用该方法,但我不知道它需要哪个参数。也许有人能帮我

class Program
{
    public static List<moneyBox> moneyBoxes = new List<moneyBox>();

    

    public static void AddmoneyBox()
    {
        moneyBox myMoneyBox = new moneyBox();
        Console.WriteLine("Nennen Sie den Namen Ihres neuen Sparschweins:");
        myMoneyBox.Name = Console.ReadLine();
        moneyBoxes.Add(myMoneyBox);
    }   

    

    static void DepositMoney(moneyBox myMoneyBox)
    {
        
        Console.WriteLine("Bitte geben Sie an wie viele einzelne Cent und Euro Stücke sie einzahlen möchten:");
        Console.WriteLine("\n");
        Console.WriteLine("Wie viele ein Cent Münzen möchten Sie einzahlen?");
        myMoneyBox.OneCent += Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Wie viele zwei Cent Münzen möchten Sie einzahlen?");
        myMoneyBox.TwoCent += Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Wie viele fünf Cent Münzen möchten Sie einzahlen?");
        myMoneyBox.FiveCent += Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Wie viele zehn Cent Münzen möchten Sie einzahlen?");
        myMoneyBox.TenCent += Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Wie viele zwanzig Cent Münzen möchten Sie einzahlen?");
        myMoneyBox.TwentyCent += Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Wie viele fünfzig Cent Münzen möchten Sie einzahlen?");
        myMoneyBox.FifftyCent += Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Wie viele ein Euro Münzen möchten Sie einzahlen?");
        myMoneyBox.OneEuro += Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Wie viele zwei Euro Münzen möchten Sie einzahlen?");
        myMoneyBox.TwoEuro += Convert.ToInt32(Console.ReadLine());
         
        
    }

    public static void PrintMoneyBoxes(moneyBox newMoneyBox)
    {
        newMoneyBox.SumEuro = newMoneyBox.OneEuro + newMoneyBox.TwoEuro;
        newMoneyBox.SumCent = newMoneyBox.OneCent + newMoneyBox.TwoCent + newMoneyBox.FiveCent + newMoneyBox.TenCent + newMoneyBox.TwentyCent + newMoneyBox.FifftyCent;

        Console.WriteLine("Sparschwein von:");
        Console.WriteLine(newMoneyBox.Name);
        Console.WriteLine("Ein Cent Münzen:");
        Console.WriteLine(newMoneyBox.OneCent);
        Console.WriteLine("Zwei Cent Münzen:");
        Console.WriteLine(newMoneyBox.TwoCent);
        Console.WriteLine("Fünf Cent Münzen:");
        Console.WriteLine(newMoneyBox.FiveCent);
        Console.WriteLine("Zehn Cent Münzen:");
        Console.WriteLine(newMoneyBox.TenCent);
        Console.WriteLine("Zwanzig Cent Münzen:");
        Console.WriteLine(newMoneyBox.TwentyCent);
        Console.WriteLine("Fünfzig Cent Münzen:");
        Console.WriteLine(newMoneyBox.FifftyCent);
        Console.WriteLine("ein Euro Münzen:");
        Console.WriteLine(newMoneyBox.OneEuro);
        Console.WriteLine("Zwei Euro Münzen:");
        Console.WriteLine(newMoneyBox.TwoEuro);
        Console.WriteLine("************************");
        Console.WriteLine("Der Inhalt Ihres Sparschweins beträgt: " + newMoneyBox.SumEuro + "," + newMoneyBox.SumCent);
    }
    
    public static void ListOfMoneyBoxes()
    {
        foreach (var owner in moneyBoxes)
        {
            PrintMoneyBoxes(owner);
        }

        return;
        /*string nameOfMoneyBox = Console.ReadLine();

        //if ()
        {
            //Menü zum Ein-/ Auszahlen
        }*/
    } 

            
    
    static void Main(string[] args)
    {
        string command = "";
        while(command != "exit")
        {
            Console.Clear();
            Console.WriteLine("WILLKOMMEN ZU IHREM DIGITALEN SPARSCHWEIN");
            Console.WriteLine(">***************************************<");
            Console.WriteLine("\n");
            Console.WriteLine("Erstellen Sie ein neues Sparschwein und nehmen Sie Einzahlungen oder Auszahlungen vor:");
            Console.WriteLine("\n");
            Console.WriteLine("Erstellen eines neuen Sparschweins:      (e)");
            Console.WriteLine("Inhalt Ihres Sparschweins:               (i)");
            Console.WriteLine("Zahlen Sie Geld in Ihr Sparschwein ein:  (+)");
            command = Console.ReadLine().ToLower();
            switch(command)
            {
                case "e":
                    AddmoneyBox();
                    break;
                case "i":
                    ListOfMoneyBoxes();
                    break;
                case "+":
                    DepositMoney();
                    break;
            }

        }
类程序
{
public static List moneyBoxes=new List();
公共静态无效AddmoneyBox()
{
钱箱myMoneyBox=新钱箱();
Console.WriteLine(“nenen Sie den Namen Ihres neuen Sparschweins:”);
myMoneyBox.Name=Console.ReadLine();
钱箱。添加(我的钱箱);
}   
静态无效存款货币(钱箱我的钱箱)
{
Console.WriteLine(“bite geben Sie an wie viele einzelne Cent and Euro Stücke Sie einzahlen möchten:”);
Console.WriteLine(“\n”);
Console.WriteLine(“你的名字是多少?”);
myMoneyBox.OneCent+=Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“你的名字是什么?”);
myMoneyBox.TwoCent+=Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“你的名字是什么?”);
myMoneyBox.FiveCent+=Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“你的名字是什么?”);
myMoneyBox.TenCent+=Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“你的名字是什么?”);
myMoneyBox.TwentyCent+=Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“你的名字是什么?”);
myMoneyBox.FifftyCent+=Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“欧元区的货币是多少?”);
myMoneyBox.OneEuro+=转换为32(Console.ReadLine());
Console.WriteLine(“你的欧元是多少?”);
myMoneyBox.TwoEuro+=Convert.ToInt32(Console.ReadLine());
}
公共静态无效打印钱箱(钱箱新钱箱)
{
newMoneyBox.SumEuro=newMoneyBox.oneuro+newMoneyBox.twoor;
newMoneyBox.SumCent=newMoneyBox.OneCent+newMoneyBox.TwoCent+newMoneyBox.FiveCent+newMoneyBox.TenCent+newMoneyBox.twenty+newMoneyBox.fiftycent;
控制台。WriteLine(“Sparschwein von:”);
Console.WriteLine(newMoneyBox.Name);
Console.WriteLine(“eincentmünzen:”);
Console.WriteLine(newMoneyBox.OneCent);
Console.WriteLine(“Zwei Cent Münzen:”);
Console.WriteLine(newMoneyBox.TwoCent);
Console.WriteLine(“Fünf Cent Münzen:”);
Console.WriteLine(newMoneyBox.FiveCent);
Console.WriteLine(“Zehn Cent Münzen:”);
Console.WriteLine(腾讯新钱箱);
Console.WriteLine(“Zwanzig Cent Münzen:”);
控制台。WriteLine(newMoneyBox.Twenty);
Console.WriteLine(“Fünfzig Cent Münzen:”);
控制台。WriteLine(newMoneyBox.Fiftycent);
Console.WriteLine(“ein Euro Münzen:”);
Console.WriteLine(newMoneyBox.OneEuro);
Console.WriteLine(“Zwei Euro Münzen:”);
Console.WriteLine(newMoneyBox.TwoEuro);
Console.WriteLine(“****************************”);
Console.WriteLine(“Inhalt Ihres Sparschweins beträgt:“+newMoneyBox.SumEuro+”,“+newMoneyBox.SumCent”);
}
publicstaticvoidlistofmoneyboxes()
{
foreach(钱箱中的var所有者)
{
打印钱箱(所有者);
}
返回;
/*字符串nameOfMoneyBox=Console.ReadLine();
//如果()
{
//Menüzum Ein-/Auszahlen
}*/
} 
静态void Main(字符串[]参数)
{
string命令=”;
while(命令!=“退出”)
{
Console.Clear();
Console.WriteLine(“WILLKOMMEN ZU IHREM DIGITALEN SPARSCHWEIN”);

控制台写入线(">***************************************嗯,你有一个钱箱列表。也许可以问用户他们想存哪个钱箱?你能展示一下你的
moneyBox
类吗?这个
newMoneyBox.SumEuro=newMoneyBox.OneEuro+newMoneyBox.twooro;
计算的是硬币的数量,而不是钱的数量。是吗你想要什么?@HansKesting是的,我只想显示硬币的数量。金额稍后会在此项下显示。作为测试,你可以使用
钱箱[0]
作为您的
DepositMoney
的参数。但是,这会忽略用户可能添加的任何其他钱箱,并在没有钱箱时崩溃。但是,在您弄清楚如何选择一个特定的钱箱(请参阅清扫者的注释)之前,您至少可以测试该方法