看目录的时候“字典中没有钥匙”,钥匙在那里

时间:2019-02-04 12:19:30

标签: vb.net dictionary keynotfoundexception

我正在尝试使用“ Graphnodes”制作地图并协调将其形成网格的位置。我首先要用graphnode填充每个坐标,然后回头将它们全部连接起来。当我浏览字典时,它告诉我键{2,1}不在字典中,但是当我检查字典时,键和graphnode在那。

For i = 1 To MapSize
    For j = 1 To MapSize
        If i = 1 And j = 1 Then
            temp = {i, j}
            nodes.Add(temp, rootNode)
        Else
            roomKeyVal += 1
            temp = {i, j}
            nodes.Add(temp, New graphNode With {.Key = roomKeyVal})
        End If
    Next
Next

For i = 1 To MapSize
    For j = 1 To MapSize
        If i = MapSize Then
            If j <> MapSize Then
                nodes({i, j}).South = nodes({i, j + 1})
                nodes({i, j + 1}).North = nodes({i, j})
            End If
        Else
            If j = MapSize Then
                nodes({i, j}).East = nodes({i + 1, j})
                nodes({i + 1, j}).West = nodes({i, j})
            Else
                nodes({i, j}).East = nodes({i + 1, j})
                nodes({i + 1, j}).West = nodes({i, j})
                nodes({i, j}).South = nodes({i, j + 1})
                nodes({i, j + 1}).North = nodes({i, j})
            End If
        End If
    Next
Next

我需要有一个互连的graphnode网格,我可以“穿越”它,但是它不能超越连接第三个graphnode的地方。

P.S。如果您需要帮助来理解代码,请告诉我。

1 个答案:

答案 0 :(得分:0)

已在评论中回答。我将字典中的键从数组更改为一个字符串。 :)