在Tree Like Collection中添加更新删除

时间:2016-04-28 12:37:23

标签: c# tree

我有像这样的树状结构

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。

其次,我需要在特定节点的结构中添加新属性,类似于删除和更新节点。

非常感谢任何建议。

2 个答案:

答案 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