我想了解結構。這是我的東西Inderminate長度的結構
Structure Tbook
Dim ISBN As String
Dim Title As String
Dim Price As Double
Dim YearOfPub As Integer
End Structure
Dim books(2) As Tbook
看起來很簡單。然後我嘗試填充它。但是,我使用了While循環,因爲我不需要填充3條記錄。相反,我想選擇何時終止數據輸入。讓我假裝我添加1條記錄不是3
Sub myStructure()
Dim answer As Char
Dim i As Integer = 0
While i < 2
Console.WriteLine("Enter details")
Console.WriteLine("ISBN : ")
books(i).ISBN = Console.ReadLine()
Console.WriteLine("Title : ")
books(i).Title = Console.ReadLine()
Console.WriteLine("Price : ")
books(i).Price = Console.ReadLine()
Console.WriteLine("Year of Publication : ")
books(i).YearOfPub = Console.ReadLine()
i = i + 1
If i < 2 Then
Console.WriteLine("Add another book? Y/N")
answer = Console.ReadLine().ToUpper
If answer = "N" Then
i = 3
End If
End If
End While
最後,我想打印出我有什麼。我在這裏使用了一個For Loop,這顯然是錯誤的。這個代碼將打印出3條記錄,但在我的例子中 - 只有其中的一條將有數據。
For i = 0 To 2
Console.WriteLine("==================================")
Console.WriteLine("ISBN : " & books(i).ISBN)
Console.WriteLine("Title : " & books(i).Title)
Console.WriteLine("Price : " & books(i).Price)
Console.WriteLine("Year of Publication : " & books(i).YearOfPub)
Console.WriteLine("==================================")
Console.WriteLine("")
Next
Console.ReadKey()
小罐與周圍像這樣的代碼給我留下了可以幫助別人
一)是否有可能產生不確定的大小結構的幾個問題嗎?
B)如果不是老要「補」與記錄
C)的結構。如果你可以「部分填充」之一,你怎麼只打印這些記錄
非常感謝的人有耐心解釋這對我(和希望其他人)
你需要看看[清單(中T)(https://msdn.microsoft.com/en-us/ library/6sh2ey19(v = vs.110).aspx) – Steve
如果不是數組,你使用了'List(of TBook)',你的代碼只能添加完整/整本書。您可能想要閱讀[在類和結構之間選擇](https://msdn.microsoft.com/en-us/library/ms229017.aspx)。如果您想在List控件(或DGV)中顯示這些項目,則帶有字段的結構將需要大量額外的工作。 BTW neihter不確定長度的結構或數組re - 你可能沒有任何數據在某些元素 – Plutonix