我从excel表中提取数据并将其放入类属性中.在下面显示的代码段中,我试图将数据添加到类型的属性中List<>
.它执行时没有错误,但List<>
计数始终为1.如下例所示,for循环运行5次,但在存在for循环后rah.rahTermDate计数为1.
for (int i = 0; i < 5; i++)
{
RawACAHireTermDates rahd = new RawACAHireTermDates();
rahd.RawHireDate = Convert.ToDateTime(GetCellValue(GetCell(sheetData, Cells[i, k], j), workbookPart, false, true));
rahd.RawTermDate = Convert.ToDateTime(GetCellValue(GetCell(sheetData, Cells[i, (k + 1)], j), workbookPart, false, true));
rah.rahTermDate = new List<RawACAHireTermDates> { rahd };
// rah.rahTermDate.Add(rahd);
}
Run Code Online (Sandbox Code Playgroud)
业务对象:
public class MasterClientGroupSheetData
{
public class RawACAHireTermDates
{
public DateTime? RawHireDate { get; set; }
public DateTime? RawTermDate { get; set; }
}
public class RawACAHireTermEmployee
{
...........
public List<RawACAHireTermDates> rahTermDate { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
此代码在每次迭代时重新初始化List并丢失以前的数据.
rah.rahTermDate = new List<RawACAHireTermDates> { rahd };
您应该在for
循环外定义列表,然后使用添加项目.add()