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

标签 vb.net arrays boolean

好吧,我只是想知道值 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/

相关文章:

java - 生成具有动态大小 d 的所有可能组合?

c++ - istream 会发生哪些隐式转换?

database - 在 VB.NET 中使用 OLEDB 通过 DataGridView 更新 Access 数据库

vb.net - 默认情况下如何启用 Visual Basic.NET 命名空间?

java - 从具有可变长度/字段的数组中获取 ID 到类?

arrays - 如何定义键值对的 Typescript Map。其中key是一个数字,value是一个对象数组

c# - VB 中的静态类构造函数

VB.NET 用引号分割字符串

python - 数据框中的 Pandas boolean 值比较

javascript - 仅使用 var 在 JavaScript 中声明一个 boolean 值