0

我需要遍历数据并将节点添加到每个设施的 UltraTree 对象。但是当给定设施有多个记录时,它会失败。

System.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 " & studyFacility.SMStudyDirectorName)

    [Do Stuff]
End If

不幸的是,facNode.Nodes.Contains(nodeName)总是评估为假。Visual Studio 说:“表达式会产生副作用,不会被计算。”

我发现许多线程/文章说每个键必须是唯一的,但我无法找到正确的语法来检查键是否已经存在。

4

1 回答 1

0

我想到了。它是 Exists() 方法而不是 Contains()。

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

于 2021-02-11T23:27:18.540 回答