有谁知道我的代码在哪里出错?这段代码工作得很好,但我将文件传输到另一台计算机,当我编译文件时弹出这个错误。
private void ShowGeneratedSchedule(string sLocationName, string sAllocationDate)
{
//lstAllocation = db.allocations.Where(a => a.AllocationDate == sAllocationDate &&
// a.LocationName == sLocationName).ToList();
scheduleDGV.EditMode = DataGridViewEditMode.EditProgrammatically;
for (int i = 0; i < lstAllocation.Count; i++)
{
for (int j = 0; j < scheduleDGV.Rows.Count - 1; j++)
{
for (int k = 0; k < scheduleDGV.Columns.Count; k++)
{
if (scheduleDGV[0, j].Value.Equals(lstAllocation[i].LocationName) &&
scheduleDGV[1, j].Value.Equals(lstAllocation[i].StationName) &&
scheduleDGV.Columns[k].HeaderText.Equals(lstAllocation[i].AllocationTime.ToString()))
{
if (lstAllocation[i].EmployeeName != null)
{
scheduleDGV[k, j].Value = lstAllocation[i].EmployeeName;
}
}
}
}
}
//scheduleDGV.DataSource = lstEmployeeSlot;
}
到达此行时显示错误
for (int i = 0; i < lstAllocation.Count; i++)
有谁知道这里有什么问题吗?是否有可能将其转移到另一台计算机?
答案 0 :(得分:2)
这很可能意味着lstAllocation为null并且从未分配过值。 为什么这条线被注释掉了?
//lstAllocation = db.allocations.Where(a => a.AllocationDate == sAllocationDate &&
// a.LocationName == sLocationName).ToList();
答案 1 :(得分:2)
lstAllocation
未初始化?该方法第一行的注释是什么?为什么要注释掉?没有lstAllocation
没有内容。
答案 2 :(得分:1)
看起来您已将注释掉的行标注为lstAllocation
。这很可能是你的问题。
答案 3 :(得分:0)
lstAllocation
引用变量在程序/代码中的某处初始化为null
(或者对象尚未构建或对象缺失)。
最好检查引用变量的值 - 它是否包含对象的null
或reference
。
private void ShowGeneratedSchedule(string sLocationName, string sAllocationDate)
{
if(lstAllocation==null){
Console.WriteLine("List is not initialized. Can't proceed");
return;
}
//rest code
}