我有一个具有非原始属性的类.
我需要更新父类的属性的一些子属性.
我需要更新父类的属性的一些子属性.
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";