我创建了一个集合来存储sendviaemail类的对象
public List<SendViaEmail> email = new List<SendViaEmail>();
该类有一个字符串变量来存储emailid。我在列表电子邮件中添加了一个对象。
email.Add(s);
现在s对象是类型类型的电子邮件,它包含一封电子邮件(例如sad@gmail.com)
当我使用foreach循环迭代对象中的所有值并在列表框中添加所有emailid但列表框中没有显示数据时
SendViaEmail s = new SendViaEmail();
for (int i = 0; i < s.email.Count(); i++)
{
listBox1.Items.Add(s.email);
}
我尝试调试并在s对象中使用email = null。 我不认为在集合中存储电子邮件地址的代码是有效的,因为我在检索数据时获得了null值。 我有字符串中的电子邮件地址。 如何在集合中存储字符串,该集合只能包含类
的对象答案 0 :(得分:1)
首先,您应该使用类型列表。
这意味着List
只能包含SendViaEmail
对象的元素。
public List<SendViaEmail> email = new List<SendViaEmail>();
然后,您可以向其添加SendViaEmail
个对象。
SendViaEmail s = new SendViaEmail();
email.add(s);
您的循环结构现在可以利用foreach
:
foreach(SendViaEmail s in email){
listBox1.Items.Add(s.email);
}
答案 1 :(得分:0)
尝试将moment.duration(day14.diff(serverTime)).minutes();
moment.duration(day14.diff(serverTime)).hours();
的{{1}}属性设置为DisplayMember
,然后listBox1
。
""
这应该刷新视图。
答案 2 :(得分:0)
使用foreach
循环而不是for
。
foreach (string email in s.email)
{
listBox1.Items.Add(email);
}
如果要使用for
循环,则需要使用索引来获取当前项目。
for (int i = 0; i < s.email.Count(); i++)
{
listBox1.Items.Add(s.email[i]);
}
答案 3 :(得分:0)
您要多次添加列表,而不是添加每个元素。
这是你应该做的:
SendViaEmail s = new SendViaEmail();
for (int i = 0; i < s.email.Count(); i++)
{
listBox1.Items.Add(s.email[i]);
}
或者,您也可以使用foreach
:
SendViaEmail s = new SendViaEmail();
foreach (var item in s.email)
{
listBox1.Items.Add(item);
}