Для данного класса;
public class TreeNode
{
public string nodeType;
public string nodeName;
public List<TreeNode> Children;
}
, экземпляром которого является:
var tree = new TreeNode()
{
nodeName = "Fred",
Children = new List<TreeNode>()
{
new TreeNode() { nodeName = "James" },
new TreeNode()
{
nodeName = "Lucy",
Children = new List<TreeNode>()
{
new TreeNode() { nodeName = "James",
Children = new List<TreeNode>()
{
new TreeNode() { nodeName = "Bob" },
new TreeNode() { nodeName = "Kevin" },
} },
new TreeNode() { nodeName = "Kevin" }
}
}
}
};
Как бы я go отфильтровал список по "Джеймсу" и возвратил дерево как коллекцию, как ;
Fred - James
Fred - Lucy - James
Смысл в том, что ему не нужно включать какой-либо дочерний узел в критерии фильтра. Я хотел бы использовать linq, если это возможно, но не уверен, что это возможно.
Спасибо