首页 > 解决方案 > C# 列表框 foreach

问题描述

我正在学习c#,我正在尝试窗口表单应用程序(特别是列表框)这是我的代码我想知道为什么当我在列表框中选择多个项目时(奶酪、火腿、培根)值没有加起来

private void button1_Click(object sender, EventArgs e)
    {
        int pizza = 0;
        
        
        if (comboBox1.SelectedItem == "Hawaiian")
        {
            pizza = pizza + 100;
            
        }

        else if (comboBox1.SelectedItem == "Pepparoni")
        {
            pizza = pizza + 150;
        }

        else if (comboBox1.SelectedItem == "Special")
        {
            pizza = pizza + 200;
        }



        foreach (string item in listBox1.SelectedItems)  
           

        if (listBox1.SelectedItem == "Cheese")

        {
            pizza = pizza + 25;
        }

        if (listBox1.SelectedItem == "Ham")

        {
           pizza = pizza + 50;
        }

        if (listBox1.SelectedItem =="Bacon")

        {
            pizza = pizza + 70;
        }

        

        textBox1.Text = pizza.ToString();

    }

在此处输入图像描述

标签: c#foreachlistbox

解决方案


使用带有循环的{ }大括号。foreach并移动使用else if(它将解决问题以及代码的性能)。

if (listBox1.SelectedItem == "Cheese")
{
    pizza = pizza + 25;
}
else if (listBox1.SelectedItem == "Ham")
{
       pizza = pizza + 50;
}
else if (listBox1.SelectedItem =="Bacon")
{
    pizza = pizza + 70;
}

推荐阅读