【问题标题】:How to iterate through, and update each element of an IEnumerable如何遍历和更新 IEnumerable 的每个元素
【发布时间】:2013-04-05 00:41:20
【问题描述】:

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

我的示例代码:

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);
}

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

【问题讨论】:

    标签: c# asp.net-mvc-3 ienumerable


    【解决方案1】:
    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);
    }
    

    【讨论】:

      【解决方案2】:
      IEnumerable<MyClass> oMyClass = db.Database.SqlQuery<MyClass>("SELECT ...").ToList();
      oMyClass.ForEach(i => i.data = somevalue);
      

      【讨论】:

        【解决方案3】:

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

        foreach(var item in oMyClass)
        {
            item.Property = newValue;
        }
        

        【讨论】:

        • 我的想法是一样的,这就是为什么我认为它必须以不同的方式完成。知道 foreach 这样做很棒。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多