我不确定发生了什么。
docsRelacionadosModel
是具有这种结构的模型:
docsRelacionadosModel.idDocTipo
那是一个整数
并具有这些元素:[0]:76 , [1]:76, [2]:74
在这段代码中:
int i = 0;
foreach (var m in docsRelacionadosModel)
{
resultadoDialogModel dialogTemp = new resultadoDialogModel();
if (i == 0) //FIRST TIME
{
idTipoSendoVerificado = m.idDocTipo; //HERE GETS '46'
}
else
{
// Here, first time is equal ([0]46 == [1]46)
if (m.idDocTipo == idTipoSendoVerificado)
{
//if there where no more element, but do not get here
if (i == (docsRelacionadosModel.Count() - 1))
{
dialogTemp.tipo = m.idDocTipo;
dialog.Add(dialogTemp);
}
}
else //For the third and also the last time [1]46 != [2]44
{
dialogTemp.tipo = idTipoSendoVerificado; //Should be 46
dialog.Add(dialogTemp); //Save tempModel in model
idTipoSendoVerificado = m.idDocTipo; //Update id been verified
if (i == (docsRelacionadosModel.Count() - 1)) // And it is the last index
{
dialogTemp.tipo = idTipoSendoVerificado; //Here should be 44
dialog.Add(dialogTemp); //Save tempModel in model
}
}
i++;
}
}
现在当我打印dialog.tipo
我应该得到的值[0]:46 / [1]:44
但我得到[0]:44 / [1]:44
我不确定这是否是因为该值作为参考传递,所以当我更改idTipoSendoVerificado
第三次迭代时,它会更改模型中已保存的值。
如果它令人困惑,请告诉我,我会尝试修复以获得更好的理解。