将数据添加到List <>类型的属性

r m*_*k r 0 c# collections

我从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)

Mat*_*ice 5

此代码在每次迭代时重新初始化List并丢失以前的数据.

rah.rahTermDate = new List<RawACAHireTermDates> { rahd };

您应该在for循环外定义列表,然后使用添加项目.add()