我有像这样的树状结构
public class CustomObject
{
public int Property1{get;set;}
public string Property2{get;set;}
public bool IsTrue{get;set;}
public List<CustomObject> Items{get;set;}
}
现在我有像List一样的Collection,我想从这里创建一个新的集合,其中IsTrue == true。
其次,我需要在特定节点的结构中添加新属性,类似于删除和更新节点。
非常感谢任何建议。
答案 0 :(得分:0)
第一
现在我有像List一样的Collection,我想从这里创建一个新的集合,其中IsTrue == true。
var listWithIsTrueOnly = ListCustomObject.Where(x => x.IsTrue).ToList()
现在您的列表可以使用Add,AddRange,Remove,RemoveAt ...
但仍有些好奇。在您的对象中,您有一个对象列表。这是正常的吗?
答案 1 :(得分:0)
Items.Where(x =&gt; x.IsTrue)。ToList()。
在列表中,您可以执行crud操作。
如果要在特定节点添加额外属性,我建议您考虑使用ExpandoObject,以便在运行时添加或删除属性。
检查此链接:
Dynamically Add C# Properties at Runtime
https://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject(v=vs.110).aspx