2015-05-27 78 views
0

如果我有学生测试分数为多个学生(例如:5名学生5个等级的每个)的阵列你可以创建一个其他数组的数组?

Dim aStudent1Grades() As New String = {Me.tboStudent1Grade1.Text, Me.tboStudent1Grade2.Text, Me.Student1Grade3.Text, Me.Student1Grade4.Text, Me.Student1Grade5.Text} 

(以相同的方式创建其他4个阵列的其他4名学生)

然后我想创建一个数组并将这5个学生数组存储到那个数组中,这样我就可以循环它并完成所有数据验证测试。

是这样的:

Dim aAllGrades() As New Array = {aStudent1Grades(), aStudent2Grades(),  aStudent3Grades(), aStudent4Grades(), aStudent5Grades()} 

我将通过这将有另一个内部对于该循环,以循环通过每个aStudentGrade阵列来测试数据数组的数组使用For循环来循环。

是否可以将数组存储在另一个数组中? 谢谢

+0

*正在存储数组另一个数组可能?*这似乎是一个问题,你可以通过试验和错误自己轻松回答。你试过什么了? –

+0

你为什么认为你不能? –

+0

Oh idk,我从来没有尝试过。我还没有搞砸它;我今晚会这样做,但我现在只是在脑海里计划好自己的想法。 – user2308700

回答

2

这是一个c#示例,但你应该明白了。

int[] array1= new int[4] { 44, 2, 3, 4}; 
int[] array2 = new int[4] { 55, 6, 33, 3}; 
int[] array3 = new int[4] { 77, 22, 4, 1 }; 
int[] array4 = new int[4] { 77, 4, 3, 3}; 

int[][] arrays= new int[][] { array1, array2, array3, array4 }; 
+0

感谢您的提示!为什么需要为其他数组的数组添加'[]'? – user2308700

+1

因为它是一个数组类型的数组,而不是int类型。 – ChicagoMike

0

我想建议你的学生一类排序:

Public Class Form1 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     'Create an array of 5 for the Students 
     Dim Students(5) As Student 'could be a List(Of Student) so you can add a new one whenever you like without any effort 
     Dim i As Integer = 0 'Just an example for useage 


     For j = 0 To 5 
      Students(j) = New Student 
     Next 

     'Add the Grades 
     Students(0).Grades.Add(Me.tboStudent1Grade1.Text) 
     'etc 

     'An example for a loop 
     For Each s In Students 
      For Each g As Integer In s.Grades 
       i += g 
      Next 
     Next 


    End Sub 
End Class 


Public Class Student 
    Public Name As String 
    Public Grades As New List(Of Integer) 

    Shared Sub New() 

    End Sub 
End Class 
+1

更好的方法是建议使用“List(Of Student)”列表,以便它们的数量不必预先确定,并且不使用ReDim Preserve。 –

+0

好点。我试图以某种方式保持数组,并表明可以同时使用这两个数组。我当然应该提到它 – Index

1

当然 - 只是让一个jagged array

Dim aAllGrades()() As String = {aStudent1Grades, aStudent2Grades, aStudent3Grades} 

然后你可以遍历一个强类型的方式:

For Each a As String() in aAllGrades 
    For Each aa As String in a 
     Console.WriteLine(aa) 
    Next 
Next 
相关问题