加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 使用Linq更新嵌套属性

发布时间:2020-12-15 07:44:52 所属栏目:百科 来源:网络整理
导读:我有一个具有非原始属性的类. 我需要更新父类的属性的一些子属性. public class Parent{ public string Abc { get; set; } public Childclass Pos { get; set; }}public class Childclass{ public string Value { get; set; }}ListParent parents = new List
我有一个具有非原始属性的类.
我需要更新父类的属性的一些子属性.
public class Parent
{
    public string Abc { get; set; }
    public Childclass Pos { get; set; }
}

public class Childclass
{
     public string Value { get; set; }
}

List<Parent> parents = new List<Parent>()

Parent p1 = new Parent();
p1.Pos.Value = "1";
parents.Add(p1);

Parent p2 = new Parent();
p2.Pos.Value = "2";
parents.Add(p2);

现在我需要在Pos.Value ==“2”的父母那里更新Pos?

解决方法

List<Parent> parents = new List<Parent>();

Parent p1 = new Parent();
p1.Pos = new Childclass() { Value = "1" };
parents.Add(p1);

Parent p2 = new Parent();
p2.Pos = new Childclass() { Value = "2" };
parents.Add(p2);

如果您需要更新每个项目:

foreach (Parent parent in parents.Where(e => e.Pos.Value.Equals("2")))
    parent.Pos.Value = "new value";

如果您只需要更新第一项:

parents.FirstOrDefault(e => e.Pos.Value.Equals("2")).Pos.Value = "new value";

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读