2016-09-25 203 views
0

我幾年來沒有在VB中寫過任何東西。我正在上中級班,正在遇到一個問題。我正在開發一個發票程序,它假定用戶從一個文本框(城市狀態和郵政編碼)輸入數據,並僅使用該郵政編碼作爲發票號碼。我已經創建了一個存儲用戶數據的數組,但我無法弄清楚如何遍歷它並只將數值寫入另一個數組。一旦完成,我將需要遍歷第二個數組並將數組內容寫入一個字符串,以便它可以顯示爲發票號。任何幫助,將不勝感激如何將一個數組中的數字複製到另一個數組

'the array that holds the user city state and zip 

Dim UserZip As String = txtCItyStateZip.Text 
Dim UserArray() As Char = UserZip.ToCharArray 
Dim ZipArray(4) As Integer 

For num As Integer = 0 To UserArray.Length - 1 
    If IsNumeric(num) Then 
     ZipArray(num) 
     num += 1 
    End If 
Next` 
+0

刪除'n + = 1'行。 'For loop'會自動增加數值 – Fabio

+1

如果使用[Option Strict On](https://msdn.microsoft.com/en-us/library/zcd4xwzs.aspx),它可能會指出您的代碼存在一些問題,甚至建議修復。例如,'ZipArray(num)'這一行沒有意義。 –

回答

0

保存拉鍊號碼作爲char陣列和使用string型這需要char數組作爲參數的構造函數。

Dim UserZip As String = txtCItyStateZip.Text 
Dim UserArray() As Char = UserZip.ToCharArray 
Dim ZipChars As New List(Of Char)() 

For num As Integer = 0 To UserArray.Length - 1 
    Dim character As Char = UserArray(num) 
    If IsNumeric(character) Then 
     ZipArray.Add(character) 
    End If 
Next 

Dim ZipCode As String = New String(ZipChars.ToArray()) 

使用List(Of Char)保存拉鍊的角色,因爲在情況下,當拉鍊將包含更多然後4號,你的代碼會拋出異常。

+0

Downvoter - 請解釋,所以我可以修復/改進一個答案 – Fabio

+0

感謝您的所有幫助和快速響應。這非常奏效。 – Orl213

-1

IsNumeric(num)將始終返回True。它應該是

For num As Integer = 0 To UserArray.Length - 1 
    If IsNumeric(UserArray(num)) Then 
     ZipArray.Add(UserArray(num)) 
    End If 
Next 
+0

'ZipArray'是數組類型,它沒有'Add'方法 – Fabio

相關問題