Ich bin neu in der Programmierung und habe es durch meinen Kurs eingeführt. Ich habe Aufgaben in und aus dem College in Visual Basic mit Visual Studio gemacht, um Spiele und andere kleine Anwendungen zu machen . In meinem letzten Projekt habe ich jedoch ein Problem in einem meiner Arrays erlebt, das ich noch nie zuvor gesehen habe. Der genaue Fehler im bekommen kommt mit diesem, wenn hervorgehoben:VB Array IndexOf Fehler (Nullen und Kreuze Spiel)
Datentyp (en) des Typs (n) Parameter in der Methode ‚Public Geteilt Überlastungen Funktion IndexOf (Of T) (Array als T(), Wert Aus diesen Argumenten lässt sich T) As Integer nicht ableiten. Das explizite Angeben der Datentypen kann diesen Fehler korrigieren.
Ich habe alle Arrays (18, 9 verschiedene Tasten jeweils eine Frage und eine Antwort Variante enthält) in Form Last läuft, wie es der einzige Weg war ich die Arrays mit einem Zufallsgenerator arbeiten könnte und zeigt die Frage in der Taste. Dann wird der Array-Index gefunden und in der Antwort-Schaltfläche zum Senden erstellt. Ich gebe einige Schnipsel für weiteren Kontext unten von verschiedenen Punkten, wo das Array referenziert wird :)
Ich habe dies erstellt, um die Zeichenfolge global zu machen, aber ich habe eine Ahnung, das ist falsch?
Public Class Form3
Public QBox1 As String
Public QBoxA1 As String
Dies ist, wo die Arrays sind und wie ich sie habe
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"}
strukturiert Und schließlich ist dies die Antwort Absenden-Button in dem der Fehler
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
Sorry für Informationen Überlastung, ich wollte auf Anhieb gründlich sein! Prost, um dies zu lesen, wenn Sie es bis zum Ende gemacht haben xD
Beifall für die Hilfe Knospe, ich für das Problem der Erklärung gehe davon ist etwas entlang der Linien der Variablen als String zu oft festgelegt wird irgendeine Art von Überlastung verursacht in das Programm? – KingZ
@KingZ Die ursprüngliche Deklaration war nur eine Zeichenfolge, die null war. Mit 'Dim' innerhalb eines Methodenblocks haben Sie Ihr Array deklariert, aber diese Deklaration wurde nur innerhalb des load-Ereignisses definiert - es existierte nicht außerhalb davon. – LarsTech