何が起こっているのかわかりません。
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
わかりません。そのため、3回目の反復で変更すると、モデルにすでに保存されている値が変更されます。
紛らわしい場合は、教えてください。理解を深めるために修正を試みます。