gpt4 book ai didi

c# - 使用 Winforms 在 C# 中将对象字符串转换为对象(类)

转载 作者:太空宇宙 更新时间:2023-11-03 21:19:49 25 4
gpt4 key购买 nike

在这里我要告诉你我正在做什么,然后是我的问题。我想告诉你们我在做什么……这样你们就能更好地理解我的问题。

提前致谢

我正在做一个项目。这个应用程序是一个杂货计算器。我有一门课叫做 Artikel。此类是我的其他派生类(如蔬菜、饮料、热食等)的基类。

我有一个组合框,里面装满了我数据库中的数据。我想要做的是将每个产品的价格添加到“总成本购物车”。我的基类如下所示:

class Artikel
{
// properties
private string naam;
private double prijs;
private string winkel;

// properties
public string Naam
{
get { return naam; }
set { naam = value; }
}

public double Prijs
{
get { return prijs; }
set { prijs = value; }
}

public string Winkel
{
get { return winkel; }
set { winkel = value; }
}

// constructor
public Artikel(string naam, double prijs, string winkel)
{
this.Naam = naam;
this.Prijs = prijs;
this.Winkel = winkel;
}

// methods
public override string ToString()
{
string info = "€ " + Prijs;
return info;
}

在我的主窗体中,我使用此代码将其添加到我的组合框中:

    foreach(var g in database.GetGroenteInfo())
{
cbGroentenLidl.Items.Add(g.Naam);
}

当组合框充满“蔬菜”数据时,我可以选择一个项目。从这里我可以使用以下代码将所选项目添加到我的“lbLidlKosten”:

lbLidlKosten.Items.Add(cbGroentenLidl.SelectedItem);

现在我的数据就在我想要的地方..这就是问题所在。现在我想将我添加到列表框的每个产品的价格...添加到我的标签中。所以基本上我添加到“lbLidlKosten”的产品越多,我在 label.text 中的成本就会增加得越多。我希望你明白我的意思。

我尝试了以下方法来让它工作:

    artikelList = database.GetGroenteInfo();

//foreach (Artikel a in artikelList)
//{
// label2.Text = Convert.ToString(a.Prijs);
// label2.Text = cbGroentenLidl.SelectedItem;
//}

//foreach (Artikel a in lbLidlKosten.Items)
//{
// label2.Text = a.Prijs.ToString();
//}

//Artikel artikel = (Artikel)cbGroentenLidl.SelectedItem;
//label2.Text = artikel.Prijs.ToString();

foreach (Artikel a in lbLidlKosten.Items)
{
label2.Text = Convert.ToString(a.Prijs);
}

所有这些解决方案都行不通。因为我收到错误:“无法将对象字符串转换为对象 Artikel”。

有人知道吗?它可能很简单..但我找不到它,而且我在过去 3 天里被困住了。

亲切的问候

最佳答案

在这里:

foreach(var g in database.GetGroenteInfo())
{
cbGroentenLidl.Items.Add(g.Naam);
}

您将名称添加到组合框,而不是项目本身。也许您可以尝试将项目集合绑定(bind)到组合框数据源,如下所示:

cbGroentenLidl.DataSource = database.GetGroenteInfo().ToList();
cbGroentenLidl.DisplayMember = "Naam";

然后当您添加到列表框时,您将拥有对象,而不仅仅是名称。

关于c# - 使用 Winforms 在 C# 中将对象字符串转换为对象(类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31549069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com