作爲新的節目,並讓它通過我的課程介紹給我,我一直在使用Visual Studio,使遊戲和其他應用程序很少執行任務進出學院在Visual Basic中。然而,在我最近的項目中,我遇到過一個我以前從未遇到的陣列中的問題。在突出顯示時出現的具體錯誤是:VB陣列的IndexOf錯誤(圈與叉遊戲)
方法'Public Shared Overloads Function IndexOf(Of T)(array As T(),value)中的類型參數的數據類型(s)作爲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
乾杯的幫助芽,我假設該問題的解釋是沿變線的東西被設定爲一個字符串的次數太多導致某種形式的過載保護該程序? – KingZ
@KingZ原始聲明只是一個空字符串。通過在方法塊內部使用'Dim',你聲明瞭你的數組,但是這個聲明只在加載事件中被限制 - 它並不存在於它之外。 – LarsTech