我有一段代码:
foreach (DynamicBuffer<Items> items in SystemAPI.Query<DynamicBuffer<Items>>())
{
...
}
我正在尝试修改 的特定元素items
。以下是我尝试实现此目的的方法:
items[3] = modifiedItem;
但我得到了错误
无法修改“items”的成员,因为它是“foreach 迭代变量”。
我怎样才能修改的元素items
?
我有一段代码:
foreach (DynamicBuffer<Items> items in SystemAPI.Query<DynamicBuffer<Items>>())
{
...
}
我正在尝试修改 的特定元素items
。以下是我尝试实现此目的的方法:
items[3] = modifiedItem;
但我得到了错误
无法修改“items”的成员,因为它是“foreach 迭代变量”。
我怎样才能修改的元素items
?
Type
DynamicBuffer<T>
是值类型,通常修改值类型的 foreach 迭代变量是没有意义的,所以在 C# 中是禁止的。你可以将此变量赋值给另一个变量来绕过这一层限制: