【问题标题】:Use ReDim for unknown size of array对未知大小的数组使用 ReDim
【发布时间】:2015-04-30 15:39:54
【问题描述】:

我目前正在读取文件数据并将其拆分为 2 个数组(名称和年龄)。我将它们都创建为未知大小的数组。这是因为我可能会在我的数据文件中添加行,但如果我以这种方式使它们变暗(例如 name()),则会发生错误。但是我不确定在这种情况下如何使用 ReDim。

Dim o As Integer
Dim name() as string
Dim age() as integer

r = New System.IO.StreamReader("C:\Users\files\names.txt")
While r.Peek() <> -1
    v = r.ReadLine()
    temperary = v.Split(".")
    name(o) = temp(0)
    age(o) = temp(1)
    o = o + 1
End While
r.Close()
Catch ex As Exception
    Me.Close()
End Try

【问题讨论】:

  • 另外,打开选项显式。您的变量 temp 似乎不存在(但 tempary 存在)。
  • 家庭作业?找到解决方案并希望删除证据?

标签: arrays vb.net string integer


【解决方案1】:

你不需要ReDim,使用List(Of String),如果你最终需要一个数组,使用ToArray

Dim names As New List(Of String)
Dim ages As New List(Of String)
r = New System.IO.StreamReader("C:\Users\files\names.txt")

While r.Peek() <> -1
    v = r.ReadLine()
    temp = v.Split(".")
    names.Add(temp(0))
    ages.Add(temp(1))
    o = o + 1
End While
' if you need arrays use names.ToArray() and/or ages.ToArray()

但我会使用List(Of User) 而不是User 是一个你必须创建的类,它至少有两个属性NameAge

【讨论】:

  • 嗨,你的意思是 names.ToArray(temp(0))?
  • 不,names.ToArray 是 System.Linq 命名空间中的扩展方法。
猜你喜欢
  • 2016-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-13
  • 2019-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多