我有一个类似的课程:
public class OverDueClass
{
public int CustomerID { get; set; }
public int Question_ID { get; set; }
public string Department { get; set; }
public DateTime DueDate { get; set; }
}
我正在填充这个类并将其传递给另一个方法:
while (dataReader.Read())
{
OverDueClass overDueItem = new OverDueClass();
overDueItem.CustomerID = (int)dataReader[0];
overDueItem.Question_ID = (int)dataReader[1];
overDueItem.Department = dataReader[2].ToString();
overDueItem.DueDate = (DateTime)dataReader[3];
OverDueCell.Add(overDueItem);
}
sendEmail("fake@email.com", OverDueCell);
现在在另一种方法中,我可以看到数据正在传递。
现在我正在尝试运行foreach
来处理数据并尝试以下操作:
foreach(string item in overDue)
{
}
但是我收到了这个错误:
无法将类型转换为字符串。
答案 0 :(得分:3)
如果overDue
是OverDueCell
,那么string
中的OverDueClass
更改为foreach
,如下所示:
foreach(OverDueClass item in overDue)
{
}
或使用var
关键字:
foreach(var item in overDue)
{
}
答案 1 :(得分:0)
如果您尝试通过OverDueTtems集合进行迭代:
foreach(var item in overDueItemsCollection)
{
...
}
如果您尝试迭代OverDueItem的属性:
PropertyInfo[] properties = typeof(overDueItem).GetProperties();
foreach (PropertyInfo property in properties)
{
var value = property.GetValue(overDueItem);
...
}