C# 如何访问TreeStore中的所有值

C# 如何访问TreeStore中的所有值,c#,gtk,C#,Gtk,我有一个TreeStore,我想在循环中遍历它的值,并将一些值与其他值进行比较 我该怎么做 我尝试了一个简单的循环,比如 TreeIter iter = new TreeIter(); if (Values.GetIterFirst(out iter)) { while (Values.IterNext(ref iter)) { // do something } } 但这不起作用我发现,Foreach函数可以做到这一点: private bo

我有一个
TreeStore
,我想在循环中遍历它的值,并将一些值与其他值进行比较

我该怎么做

我尝试了一个简单的循环,比如

TreeIter iter = new TreeIter();

if (Values.GetIterFirst(out iter))
{
    while (Values.IterNext(ref iter))
    {
        // do something
    }
}

但这不起作用

我发现,
Foreach
函数可以做到这一点:

    private bool feIter(TreeModel model, TreePath path, TreeIter iter)
    {
        if (Values.GetValue(iter, 1) == ObjectStore)
        {
            return true; // exit loop
        }
        return false; // continue in loop
    }

    public void Blah()
    {
        Values.Foreach(feIter);
    }

除非所有项都是根的子项,否则您需要检查哪些节点有子项,然后对这些节点执行第一/下一个循环