我从我的代码中调用了一个库存过程并返回给我一个
IEnumerable<dynamic> data
有3个属性
我希望能够为示例
修改数据var的值之一data[2].ID = 6687687
你知道怎么做吗?
答案 0 :(得分:2)
您可以使用ElementAt
方法访问各个元素,如下所示:
data.ElementAt(2).ID = 6687687;
但是,这样做效率不高,因为它会遍历枚举,直到达到所需的索引。有时,每次枚举时,你得到的可枚举都会执行一些查询。这意味着每次枚举时都会获得新对象(例如,通过ElementAt
)。
更好的方法是将枚举转换为如下列表:
var list = data.ToList();
然后按索引访问元素,如下所示:
list[2].ID = 6687687;
答案 1 :(得分:2)
您可以使用以下代码:
var lItem = data.ElementAt(2);
lItem.ID = 6687687;
但请注意,当用于访问许多不同的索引并且IEnumerable没有&#34;简单&#34;列出对象作为基础。