如何更改 IQueryable中的项目?

发布于 2024-11-05 21:09:53 字数 401 浏览 0 评论 0原文

我有以下课程:

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

和以下列表:

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

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

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

我不想做 k = bla.first(x ==> xc =="kitten") 然后将newInstance中的字段一一复制到k,我希望“bla”列表引用newInstance,而不更改k..

我如何实现它?

i have a the following class :

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

and the following list :

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

i want to change the first item in the list where myClass.c = "kitten";

To another instance of myClass lets call him newInstance;

i don't want to do k = bla.first(x => x.c =="kitten")
and then copy one by one the fields from newInstance to k, i want the "bla" list to refernce to newInstance, without changing k..

how do i achieve it ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

与君绝 2024-11-12 21:09:53

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

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

You can use below iterator to do this:

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;
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文