如何遍历和更新IEnumerable的每个元素

本文关键字:IEnumerable 元素 更新 何遍历 遍历 | 更新日期: 2023-09-27 18:08:55

我有一个IEnumerable对象,它已经被SqlQuery调用填充,我想遍历它并更新它的类型类成员。

我的示例代码:

public class MyClass
{
    public string id { get; set; }
    public string data { get; set; }
}
...
public JsonResult GetMyClass(...)
{
    IEnumerable<MyClass> oMyClass = db.Database.SqlQuery<MyClass>("SELECT ...");
    // Here I want to iterate through the oMyClass object updating
    // the "data" member before returning it as a Json
    return Json(oMyClass, JsonRequestBehavior.AllowGet);
}

似乎没有一个好的方法来做到这一点,特别是如果你还想更新对象,而不仅仅是从它读取。

如何遍历和更新IEnumerable的每个元素

使用foreach。这就是它的作用:

foreach(var item in oMyClass)
{
    item.Property = newValue;
}
public JsonResult GetMyClass(...)
{
    IEnumerable<MyClass> oMyClass = db.Database.SqlQuery<MyClass>("SELECT ...");
    foreach (var o in oMyClass)
    {
        // do somethig with o
    }
    return Json(oMyClass, JsonRequestBehavior.AllowGet);
}
IEnumerable<MyClass> oMyClass = db.Database.SqlQuery<MyClass>("SELECT ...").ToList();
oMyClass.ForEach(i => i.data = somevalue);