嗨,我有一个Mediastore程序,我有3个班级。 Produkt:这是一个带有一些变量的类,用于将产品添加到我的列表中。
public class produkt
{
public string Name;
public string price;
public string Serialnumber;
public int kvantitet;
public override string ToString()
{
return "ProduktNamn: " + Name +
" VaruNr: (" + Serialnumber + ") " +
"Pris: " + price +
" Kr" + " Kvantitet " +kvantitet;
}
LagerList:这个类是静态的,仅用于存储我的List,以便它可以从不同的表单中获取。
public static class LagerList
{
public static List<produkt> List = new List<produkt>();
}
然后我有我的Lager课程,用于将我的产品添加到我的列表和列表框中。 这是通过有3个文本字段完成的,其中我说出我创建的对象的名称,序列号和价格应该具有的内容。
在这个课程中,我还有2个文本字段和一个按钮,可以添加一定数量的产品类的选定列表框对象。 如果项目我试图添加数量到dosent存在我得到一个问题,如果我想添加该产品,它将该产品添加到列表中。 但是,如果产品已经存在,则可以从我的文本框中添加具有所选金额的数量。 这就是我的AddQuantity方法现在的样子。
private void TaBort_Click(object sender, EventArgs e)
{
tabort_();
}
private void LäggTillLev_Click(object sender, EventArgs e)
{
string productname;
productname = ProduktNr.Text;
if (LagerList.List.Any(produkt => produkt.Name == productname))
{
// here i wanna add the quantity
}
else if (LagerList.List.Any(produkt => produkt.Name != productname))
{
DialogResult dialogResult = MessageBox.Show("Lägg till Ny vara?", "Titel", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
var newProdukt = new produkt()
{
Name = productname,
Serialnumber = " ",
price = " ",
kvantitet = "",
};
LagerList.List.Add(newProdukt);
Lista.DataSource = LagerList.List;
var Lager_vy = new Lager();
Lager_vy.Show();
}
else if (dialogResult == DialogResult.No)
{
//do something else
}
}
return;
}
一些可以很好知道的变量是来自LagerList类的My List被称为List。 我的列表框名为Lista。 我需要帮助的是我如何将数量添加到所选项目我已经尝试了很多不同的方法,并在各处寻找答案,但是已经空了,所以这就是为什么我在这里问你希望你可以提供帮助。
答案 0 :(得分:2)
这样做
productname = ProduktNr.Text;
var existingProduct = LagerList.List.FirstOrDefault(produkt => produkt.Name == productname);
if (existingProduct != null )
{
// here i wanna add the quantity
existingProduct.kvantitet = int.Parse(ProduktKvantitet.Text);
}
else
{
// dialog code
}
基本上我们尝试从列表中获取产品。如果我们找到产品,我们会设定数量。如果我们找不到它,那么您要求提示并创建一个新产品。