VB Array IndexOf错误(Noughts and Crosses Game)

时间:2017-02-22 22:22:04

标签: arrays vb.net

不熟悉编程并通过我的课程向我介绍我在Visual Basic中使用Visual Studio制作游戏和其他小应用程序的任务。然而,在我最近的项目中,我遇到了一个我以前从未遇到的阵列问题。突出显示的具体错误是:

  

方法'Public Shared Overloads Function IndexOf(Of T)(array As T(),value As T)中的类型参数的数据类型无法从这些参数中推断出Asger'。明确指定数据类型可能会纠正此错误。

我有所有数组(18个,9个不同的按钮,每个包含一个问题和一个答案变体)在表单加载中运行,因为这是我可以让数组与随机客户一起使用的唯一方法,并在按钮。然后在提交答案按钮中找到并创建数组索引。我将从下面引用数组的各个点给出一些片段以获取进一步的上下文:)

我创建了这个以使字符串全局但我有一个暗示这是错误的吗?

Public Class Form3
Public QBox1 As String
Public QBoxA1 As String

这是数组的位置以及我如何构造它们

Public Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
BOX 1 (TOP LEFT)
Dim QBox1() As String = {"√81", "4x6", "16/4", "21+18", "81-23"}
Dim QBoxA1() As Integer = {"9", "24", "4", "39", "58"}

最后这是在提交答案按钮内,错误是

If QBoxA1.Contains(txt_AnswerAttempt.Text) Then

Dim question_index = Array.IndexOf(QBox1, btn_Q1.Text)
Dim answer_index = Array.IndexOf(QBoxA1, answerAttemptDisplay.Text)

If question_index = answer_index Then
MsgBox("Correct Answer!")

Else
MsgBox("Wrong Answer!")

End If

End If

抱歉信息过载,我想彻底彻底改变!如果你把它写到最后xD,那就干脆给这个读了

1 个答案:

答案 0 :(得分:1)

您的声明不对。由于您需要数组,因此不要将其声明为单个字符串。它应该是:

Public QBox1() As String

然后在load事件中,不要用Dim语句重新声明它。只需重新填充它:

QBox1 = {"√81", "4x6", "16/4", "21+18", "81-23"}
相关问题