类列表中的foreach项

本文关键字:foreach 列表 | 更新日期: 2023-09-27 18:25:21

我有一个这样的类:

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)
{
}

但我得到了这个错误:

无法将类型转换为字符串。

类列表中的foreach项

如果overDueOverDueCell,则在foreach中将string更改为OverDueClass,如下所示:

foreach(OverDueClass item in overDue)
{
}

或者使用var关键字:

foreach(var item in overDue)
{
}

如果您正试图遍历OverDueItems:的集合

foreach(var item in overDueItemsCollection)
{
    ...
}

如果您正在尝试遍历OverDueItem的属性:

PropertyInfo[] properties = typeof(overDueItem).GetProperties();
foreach (PropertyInfo property in properties)
{
    var value = property.GetValue(overDueItem);
    ...
}