数组中的奇怪值 - 我更改它们后它们保持不变
本文关键字:数组 | 更新日期: 2023-09-27 18:35:30
这是我的代码:
var items = tableInDatabase.All("WHERE [Order] > " + order);
foreach (var i in items.ToArray())
{
i.Order = 7;
}
tableInDatabase.Save(items.ToArray());
但是,当断点到达最后一行(在 foreach 循环之后)时,项的每个元素的顺序与之前相同(不是 7)。为什么会这样?虽然仍在循环中,但我的订单为 7。
我正在使用 Massive,这是其官方页面的示例:
var table = new Products();
var drinks = table.All("WHERE CategoryID = 8");
foreach(var item in drinks.ToArray()){
item.CategoryID = 12;
}
table.Save(drinks.ToArray());
我也试过:
foreach (var i in items.ToArray())
{
tableInDatabase.Update(i, i.Id);
}
什么都没有。
返回类型 od tableInDatabase 是类 TableInDatabase。这是定义:
public TableInDatabase() : base(connectionString, "System.Data.SqlClient", "TableInDatabase", "Id") { }
使用以下代码:
var items = tableInDatabase.All("WHERE [Order] > " + order);
var array = items.ToArray();
foreach (var i in array)
{
i.Order = 7;
}
tableInDatabase.Save(array);
ToArray()
创建一个新副本,如Romil所说,在您的情况下,由于您使用的是Massive,因此您可能可以按照Adam所说的进行操作,但是该选项会创建两个变量。您可以尝试以下操作。
var items = tableInDatabase.All("WHERE [Order] > " + order).ToArray();
foreach (var i in items)
{
i.Order = 7;
}
tableInDatabase.Save(items);
这是大量示例的已知问题,已在此处报告