如何更改IQueryable <t>中的项目?</t>

时间:2011-05-09 08:47:18

标签: c# iqueryable

我有以下课程:

class myClass { string b; string c; string d; }

以及以下列表:

IQueryable<myClass> bla = new list<myClass>();

我想更改列表中myClass.c =“kitten”的第一项;

对于myClass的另一个实例,我可以称他为newInstance;

我不想做k = bla.first(x =&gt; x.c ==“小猫”) 然后将newInstance中的字段逐个复制到k,我希望“bla”列表引用newInstance,而不更改k ..

我如何实现它?

1 个答案:

答案 0 :(得分:1)

您可以使用以下迭代器执行此操作:

public static IEnumerable<myClass> GetChanged(IEnumerable<myClass> data)
{
    bool found = false;
    foreach(myClass c in data)
    {
       if(found == false && c.c=="kitten")
       {
           found = true;
           yield return new myClass() ; //new object
       }
       else
           yield return c;
    }
}