[英]Why are the data records read incorrectly into a List<T>?
有誰知道源代碼為什么具有以下行為(內部聯接后只有兩個數據集):正確讀取了兩個數據集。 但是現在我在兩個數據集中都有第二個數據集。 我只是想不通。
for (int x = 0; x < ds.Tables[0].Rows.Count; x++)
{
tasks.ID = (int)ds.Tables[0].Rows[x]["ID"];
tasks.UserID = (int)ds.Tables[0].Rows[x]["UserID"];
tasks.Aufgabe = (int)ds.Tables[0].Rows[x]["Aufgabe"];
tasks.Start = (DateTime)ds.Tables[0].Rows[x]["Start"];
tasks.Ende = (DateTime)ds.Tables[0].Rows[x]["Ende"];
tasks.Erledigt = (ds.Tables[0].Rows[x]["Erledigt"] == DBNull.Value) ? DateTime.MinValue : (DateTime)ds.Tables[0].Rows[x]["Erledigt"];
tasks.AufgabenID = (int)ds.Tables[0].Rows[x][6];
tasks.Bezeichnung = ds.Tables[0].Rows[x]["Bezeichnung"].ToString();
tasks.Beschreibung = ds.Tables[0].Rows[x]["Beschreibung"].ToString();
tasks.Zeitrahmen = (int)ds.Tables[0].Rows[x]["Zeitrahmen"];
tasks.Wert = (decimal)ds.Tables[0].Rows[x]["Wert"];
tasks.WertGutschrift = (int)ds.Tables[0].Rows[x]["WertGutschrift"];
tasks.Folgeaufgabe = (int)ds.Tables[0].Rows[x]["Folgeaufgabe"];
taskList.Add(tasks);
}
您要多次添加同一對象。 在每個迭代中創建一個新的(作為for循環的第一行):
Task tasks = new Task();
您設置一個對象的所有屬性並將其添加到列表中。 在循環的下一個迭代中,您將使用新值更新現有對象並將其再次添加到列表中。
PS:別忘了刪除當前要在其中創建對象的行,否則會出現編譯器錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.