C# 哪个参数需要开关中的Case来调用对象的方法?
我想用C#和moneyBox类构建一个piggy Bank应用程序。现在我遇到了一些问题,需要调用一个方法来更改对象中的硬币属性。我想构建一个类似于菜单的开关,通过调用我的方法来保存案例。案例“存款”需要一个参数来调用该方法,但我不知道它需要哪个参数。也许有人能帮我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
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
的参数。但是,这会忽略用户可能添加的任何其他钱箱,并在没有钱箱时崩溃。但是,在您弄清楚如何选择一个特定的钱箱(请参阅清扫者的注释)之前,您至少可以测试该方法