【发布时间】:2017-06-29 14:07:44
【问题描述】:
我是 C# 新手,我正在尝试弄清楚如何在 switch 语句中声明数组的值。我习惯于经常使用 PHP 和 Javascript,但我不知道如何在 C# 中执行此操作。这就是我现在拥有的:
string winkel = winkelDropdown.SelectedValue;
ArrayList products = new ArrayList();
output.Text = "Bij de " + winkel + " moet ik dit meenemen:<br />";
switch (winkel)
{
case "Albert Heijn":
products.Add("Boter");
products.Add("Kaas");
products.Add("Eieren");
break;
case "Jumbo":
products.Add("Spek");
products.Add("Lamsvlees");
products.Add("Huiswijn");
break;
case "Plus":
products.Add("Spaghetti");
products.Add("Pastasaus");
products.Add("Kaasbroodje");
break;
case "Emté":
products.Add("Jupiler Krat");
products.Add("Barbeque kolen");
products.Add("Frisdrank");
break;
}
foreach (string product in products)
{
output.Text += product + "<br />";
}
在 C# 中有没有办法让我的 switch 语句更短?例如这样的:
string[] productArray = string[3];
switch (winkel)
{
case "Albert Heijn":
productArray = ["Boter", "Kaas", "Eieren"];
break;
case "Jumbo":
productArray = ["Spek", "Lamsvlees", "Huiswijn"];
break;
case "Plus":
productArray = ["Spaghetti", "Pastasaus", "Kaasbroodje"];
break;
case "Emté":
productArray = ["Jupiler Krat", "Barbeque kolen", "Frisdrank"];
break;
}
【问题讨论】:
-
如果您将第一行更改为 string[] productArray = new string[3],您的第二个示例应该实际编译。 ArrayList 也相当过时。
-
我会强烈建议使用
List<T>而不是ArrayList -
@pijemcolu 和其他一些变化 ;-)
标签: c# arrays switch-statement