我不知道發生了什麼。模型沒有得到更新裏面的foreach
docsRelacionadosModel
是具有這種結構的模型:
docsRelacionadosModel.idDocTipo
這是一個整數
並且具有那些elementes:[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++;
}
}
現在當我打印的值我應該得到[0]:46/[1]:44
但我正在逐漸[0]:44/[1]:44
我不知道這是否是因爲該值作爲基準傳遞,因此當我改變idTipoSendoVerificado
第三iteraction它改變在模型中alread保存的值。
如果它很混亂,請告訴我,我會嘗試修復以獲得更好的理解。
你有(i!= 0)嗎? – gabba 2013-02-13 18:02:46
這真是令人困惑。嘗試在單獨的項目中執行代碼,並刪除不需要顯示問題的行。你已經把'i ++'放在了一個現在不會被觸及的位置,我們不知道其他代碼可以用副作用做什麼。我也不確定46是從哪裏來的,因爲你有一些類的3個實例(請詳細說明),'idDocTipo'值爲76,76和74。 – 2013-02-13 18:09:40