Arrays VB数组索引错误(零和十字游戏)
作为一名编程新手,并通过我的课程向我介绍了它,我在大学内外一直在用Visual Basic完成任务,使用Visual Studio制作游戏和其他小应用程序。然而,在我最近的项目中,我的一个阵列遇到了一个以前从未遇到过的问题。当突出显示时,im获取的特定错误会出现: 无法从这些参数推断“公共共享重载函数IndexOf(of T)(数组为T(),值为T)为整数”方法中类型参数的数据类型。显式指定数据类型可能会更正此错误 我所有的数组(18个,9个不同的按钮,每个按钮包含一个问题和一个答案变量)都以表单加载的形式运行,因为这是我让数组与随机化器一起工作并在按钮中显示问题的唯一方法。然后在submit answer按钮中找到并创建数组索引。下面我将从引用数组的各个点提供一些片段,以进一步了解上下文:) 我创建这个字符串是为了使字符串全局化,但我有一个线索,这是错误的Arrays VB数组索引错误(零和十字游戏),arrays,vb.net,Arrays,Vb.net,作为一名编程新手,并通过我的课程向我介绍了它,我在大学内外一直在用Visual Basic完成任务,使用Visual Studio制作游戏和其他小应用程序。然而,在我最近的项目中,我的一个阵列遇到了一个以前从未遇到过的问题。当突出显示时,im获取的特定错误会出现: 无法从这些参数推断“公共共享重载函数IndexOf(of T)(数组为T(),值为T)为整数”方法中类型参数的数据类型。显式指定数据类型可能会更正此错误 我所有的数组(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你的声明不对。因为您需要一个数组,所以不要将其声明为单个字符串。应该是:
Public QBox1() As String
然后在load事件中,不要使用Dim语句重新声明它。只需重新填充它:
QBox1 = {"√81", "4x6", "16/4", "21+18", "81-23"}
为帮助干杯,巴德,我假设问题的解释是,变量被设置为字符串的次数太多,导致程序中出现某种过载?@KingZ原始声明只是一个空字符串。通过在方法块内使用
Dim
,您声明了数组,但该声明仅在加载事件内起作用-它在加载事件外不存在。