C# 如何显示集合的数据(对象集合)

C# 如何显示集合的数据(对象集合),c#,C#,我制作了一个集合来存储sendviaemail类的对象 public List<SendViaEmail> email = new List<SendViaEmail>(); 现在s对象是类类型的email,它包含一个emailed(例如sad@gmail.com) 当我使用foreach循环遍历对象中的所有值并在listbox中添加所有EmailID时,listbox中没有显示任何数据 SendViaEmail s = new SendViaEmail(); for

我制作了一个集合来存储sendviaemail类的对象

public List<SendViaEmail> email = new List<SendViaEmail>();
现在s对象是类类型的email,它包含一个emailed(例如sad@gmail.com)

当我使用foreach循环遍历对象中的所有值并在listbox中添加所有EmailID时,listbox中没有显示任何数据

SendViaEmail s = new SendViaEmail();
for (int i = 0; i < s.email.Count(); i++)
{
    listBox1.Items.Add(s.email);   
} 
SendViaEmail s=new SendViaEmail();
对于(int i=0;i
我尝试过调试,在s对象中,email=null。 我认为在集合中存储电子邮件地址的代码不起作用,因为我检索数据时得到的是空值。 我的电子邮件地址是字符串。
如何在只能保存类对象的集合中存储字符串

尝试将
listBox1
DisplayMember
属性设置为
,然后将
“email”


这将刷新视图。

使用
foreach
循环,而不是
for

foreach (string email in s.email)
{
    listBox1.Items.Add(email);   
}
如果要对
循环使用
,则需要使用索引来获取当前项

for (int i = 0; i < s.email.Count(); i++)
{
    listBox1.Items.Add(s.email[i]);   
} 
for(int i=0;i
您要多次添加列表,而不是添加每个元素

这就是你应该做的:

SendViaEmail s = new SendViaEmail();
for (int i = 0; i < s.email.Count(); i++)
{
    listBox1.Items.Add(s.email[i]);   
}

首先,您应该使用键入的列表

这意味着
列表
只能包含
SendViaEmail
对象的元素

public List<SendViaEmail> email = new List<SendViaEmail>();
您的循环结构现在可以利用
foreach

foreach(SendViaEmail s in email){
    listBox1.Items.Add(s.email);
}

我发现它不起作用。但是代码正确吗?我的意思是所有的电子邮件都存储在collection@AamirNawab你应该提供更多的上下文。根据你在问题中给我们的答案,没有什么可做的。
SendViaEmail s = new SendViaEmail();
foreach (var item in s.email)
{
    listBox1.Items.Add(item);   
}
public List<SendViaEmail> email = new List<SendViaEmail>();
SendViaEmail s = new SendViaEmail();
email.add(s);
foreach(SendViaEmail s in email){
    listBox1.Items.Add(s.email);
}