针对此特定问题的练习是,我必须根据列表框中选定的成绩值显示学生数量,并显示学生人数数字标签中的选定等级:Form Design。正在搜索名称和成绩的字符串数组以及与成绩相关的列表名称
我可以为这些年级添加数字,我一直在跑的问题是同时在Name数组中搜索Name数组,并根据所选年级获取每个单独的名称以显示出来。
我知道Grade字母的每个索引值都对应于Name数组,但我不知道如何获得Grade数组的索引值,因为它是一个字符串。
编辑:这正是分配呼吁:
一个。该过程声明并初始化两个并行的名为strNames和strGrades的一维数组。
编写程序以显示获得lstGrades控件中所选等级的学生的姓名。它还应显示已获得该分数的学生人数。b。出现界面时,应该选择lstGrades控件中的第一项。编码适当的程序。
c。当在lstGrades控件中选择不同的等级时,lstNames和lblNumber控件的内容应该被清除。编码适当的程序。 d)。保存解决方案,然后启动并测试应用程序。
Private Sub btnDisplay_Click(sender As Object, e As EventArgs) Handles btnDisplay.Click
' Display the names and number of students earning a specific grade.
Dim strNames() As String = {"Helen", "Peter", "Yolanda", "Carl", "Jennifer", "Charles", "Addison", "Aiden", "Treyson", "Sydney", "Jacob", "Nancy", "George", "Ursula", "Jack"}
Dim strGrades() As String = {"A", "B", "B", "A", "D", "F", "A", "B", "A", "B", "F", "C", "C", "B", "D"}
Dim intNumGrades(4) As Integer
' searches through each value in strGrade array, counter is added for each instance
For Each strGradeLetter As String In strGrades
Select Case strGradeLetter
Case "A"
intNumGrades(0) += 1
Case "B"
intNumGrades(1) += 1
Case "C"
intNumGrades(2) += 1
Case "D"
intNumGrades(3) += 1
Case "F"
intNumGrades(4) += 1
End Select
Next strGradeLetter
lblNumber.Text = intNumGrades(lstGrades.SelectedIndex).ToString
End Sub
请仔细阅读[提问]和取[旅游]。如果您使用'For n'循环,索引器('n')将指向相应的名称数组(或者您可以使用Array.IndexOf)。据推测,您将需要另一个集合来存储每个字母等级的名称 – Plutonix
我无法使用Array.IndexOf,因此我的意思是我必须在不使用它的情况下完成此练习。 – user3472383
请阅读[Ask]并参加[tour] – Plutonix