Как проверить, существует ли уже сверхдеревянный узел

#vb.net #ultratree

#vb.net #ultratree

Вопрос:

Мне нужно перебирать данные и добавлять узлы к объекту UltraTree для каждого объекта. Но это не удается, когда для данного объекта имеется несколько записей.

Система.Исключение ArgumentException: ‘Ключ уже существует, ключ: ts1’

Итак, я пытаюсь проверить существующие узлы и добавлять только в том случае, если его еще нет.

 'facNode is an UltraTreeNode
'nodeName is a string

If (facNode.Nodes.Contains(nodeName) = False) Then
    Dim selectable = facNode.Nodes.Add(nodeName, "Study Director " amp; studyFacility.SMStudyDirectorName)

    [Do Stuff]
End If
 

К сожалению, facNode.Узлы.Containes(nodeName) всегда принимает значение false . Visual Studio сообщает: «Выражение вызывает побочные эффекты и не будет оцениваться».

Я нашел много тем / статей, в которых говорится, что каждый ключ должен быть уникальным, но я не смог найти правильный синтаксис, чтобы проверить, существует ли ключ уже.

Ответ №1:

Я понял это. Это метод Exists() вместо Contains() .

If (facNode.Nodes.Exists(nodeName) = False) Then