gpt4 book ai didi

vb.net - 如何判断某个项目是否不在数组中

转载 作者:行者123 更新时间:2023-12-02 00:52:40 27 4
gpt4 key购买 nike

好吧,我只是想知道值 x 是否不在我的数组中

这就是我一直在尝试的我正在使用 VB.net只需知道 x 何时不在数组中,以便我可以采取行动。谢谢

   Dim L, Path(0) As Integer


Open = cleara(Open)
sealed = cleara(sealed)
Open(0) = Agent
sealed(0) = Agent
Finds adjacent nodes
L = Agent
Do Until sealed(sealed.GetLength(0) - 1) = Targ Or Open.GetLength(0) = 0
'Agents(0) = L
H = Find_H(L, Targ, Open)
'T = Find_T(L, Targ, Open)
ReDim F(T.GetLength(0) - 1)
For lp As Integer = 0 To F.GetLength(0) - 1
F(lp) = H(lp) '+ H(lp)
Next
L = Find_lowest(F, Open)
Open = Remove_from(Open, L)
sealed = Add_to(sealed, L)

Ad = Find_adjacent(L, Targ)
For lp As Integer = 0 To Ad.GetLength(0) - 1

好吧,这就是我的问题所在我需要做的是查明广告是否密封 如果是则忽略它如果广告不是密封的,如果是开放的,则比较 T 值如果广告处于密封或打开状态,则将其添加到打开状态并将 L 设置为广告的父级下面是测试并查看值是否正确加载到数组中的方法

            If Walk(Ad(lp)) <> -1 Then
Parents(Ad(lp)) = L
Open = Add_to(Open, Ad(lp))
For lp2 As Integer = 0 To sealed.GetLength(0) - 1
For lp3 As Integer = 0 To Open.GetLength(0) - 1
If lp3 < Open.GetLength(0) - 1 Then
If Open(lp3) = sealed(lp2) Then
Open = Remove_from(Open, sealed(lp2))
End If
End If
Next
Next
End If


Next
G.Graphics.DrawRectangle(Pens.White, Grid(Targ))
TempDrawing()




Loop

这应该是一个a*程序,但我的启发法一直遇到麻烦,如果你能告诉我我做错了什么,这也会有很大的帮助

到目前为止,这是如何工作的

  1. 添加我的打开位置
  2. 为打开列表中的项目创建 H、G、F
  3. 找到最低的 F
  4. 查找相邻节点
  5. 循环节点
  6. 如果节点不可步行则忽略
  7. 如果处于密封状态,请忽略(这就是我陷入的困境)
  8. 如果不是密封的并且可以步行,那么如果是开放的,则比较 G 分数,否则添加到开放的位置

最佳答案

试试这个

If Array.IndexOf(yourArray, x) == -1 Then
'Do something
End If

关于vb.net - 如何判断某个项目是否不在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5361481/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com