我有一个清单
List<SalesDetail> SalesList = new List<SalesDetail>();
SalesDetail detail = new SalesDetail();
其中“SalesDetail”是一个类。我有一个按钮(添加)和我的代码点击事件的添加按钮是 SalesList.Add(细节); 其中details是SalesDetail类的对象,其中包含{set;并得到;}
但是当我尝试检索列表中的每个项目时,我只得到最后一项。 检索每个项目的代码是
foreach(SalesDetail sd in SalesList)
{
messageBox.show(SalesList);
}
在我的类SalesDetail中,我有以下代码
Public string Brand{get; set;}
Public string Product{get; set;}
我想从列表中检索每个项目并将其保存到数据库 我想知道在检索数据时我在哪里弄错了.. 请帮忙 问候 bunzitop
答案 0 :(得分:2)
您需要使用引用sd
SalesList
对象
尝试:
foreach(SalesDetail sd in SalesList)
{
messageBox.show(sd.Brand);
messageBox.show(sd.Product);
}
来自聊天:
List<SalesDetail> SalesList = new List<SalesDetail>();
public void button1_click() {
SalesDetail detail = new SalesDetail();
detail.Brand = textBox1.Text
detail.Product= textBox2.Text`
SalesList.Add(detail);
}
答案 1 :(得分:2)
SalesList
是类型。您应该在循环中使用sd
(这是变化的值)。
答案 2 :(得分:0)
首先,您的类定义错误,因为您省略了Brand
和Product
属性的类型,而public
可见性修饰符应为小写。
要使用ToString()
,您需要覆盖您班级中的方法:
public class SalesDetail
{
public string Brand {get; set;}
public string Product {get; set;}
public override string ToString()
{
return string.Format("Brand: {0}, Product {1}", Brand, Product);
}
}
然后你可以使用Linq来Aggregate
列表并显示它的内容。
var items = SalesList.Select(s => s.ToString()).Aggregate((s, s1) => s + Environment.NewLine + s1);
MessageBox.Show(items);