2015-05-27 116 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 
相關問題