如何将一个数组中的数字复制到另一个数组
问题描述:
我几年来没有在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`
答
保存拉链号码作为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号,你的代码会抛出异常。
答
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
删除'n + = 1'行。 'For loop'会自动增加数值 – Fabio
如果使用[Option Strict On](https://msdn.microsoft.com/en-us/library/zcd4xwzs.aspx),它可能会指出您的代码存在一些问题,甚至建议修复。例如,'ZipArray(num)'这一行没有意义。 –