【问题标题】:Do until populating string with comma separated values直到用逗号分隔值填充字符串
【发布时间】:2012-04-17 08:22:58
【问题描述】:

嘿,我正在尝试像这样填充数组:

Dim tmpArray As String = ""

Do Until x = Form1.arrayCal.Length
    tmpArray = tmpArray & "," & x
    x += 1
Loop

tmpArray = Replace(tmpArray, ",1", "1")

Dim arrDaysInMonth As String() = {tmpArray}

Dim arrNumOfVisits As Double() = {10, 20, 30, 40, 50, 52, 20, 20, 10, 35, 3, 8, 47, 7, 2, 5, 55, 8, 0, 0 , 6, 55, 0, 2, 12, 0, 0, 21, 14, 0, 3}

    Me.ChartControl1.Series.Clear()
    Dim s As New DataDynamics.ActiveReports.Chart.Series()

    s.Type = DataDynamics.ActiveReports.Chart.ChartType.Bar2D
    s.Points.DataBindXY(arrDaysInMonth, arrNumOfVisits)

但是,我似乎不能那样做。这样做似乎只将​​它放在一维数组中,而不是 {1,2,3,4,5...} 类型的数组因为它需要在里面。

任何帮助都会很棒!

大卫

【问题讨论】:

  • 嗯,你这里没有 any 数组...?
  • Dim arrDaysInMonth As String() 我猜应该是一个数组
  • 更正了。它应该是一个字符串。但同样的情况仍然存在。
  • String.Join()方法轻松创建“1,2,3..”形式的字符串数组。
  • 请更清楚您最终需要拥有什么。你需要一个带有逗号分隔值的字符串,你需要一个字符串数组还是你需要别的东西?

标签: vb.net arrays populate


【解决方案1】:

我认为你想要的可以通过这个来实现:

    Dim daysCount As Integer = 31
    Dim arrDaysInMonth As String() = New String(daysCount - 1) {}

    For index As Integer = 0 To arrDaysInMonth.Length - 1
        arrDaysInMonth(index) = (index + 1).ToString()
    Next

    ' arrDaysInMonth(0) = "1"
    ' arrDaysInMonth(1) = "2"
    ' ...

或者也许你想要这个:

    Dim arrayCal As String = "1,2,3,4,5,6"
    Dim tmpArray As String() = arrayCal.Split(","c)

    ' tmpArray(0) = "1"
    ' tmpArray(1) = "2"
    ' ...

【讨论】:

  • 你从那里的第一个例子中得到它,ja72。谢谢! :o)
【解决方案2】:

如果你想动态创建数组,我建议不要使用数组,你应该使用集合,因为它们更快并且节省资源:

Dim array As New System.Collections.ArrayList

Do Until x = Form1.arrayCal.Length
   array.Add(x)
   x += 1
Loop

您还可以通过索引访问 ArrayList 的元素。

顺便说一句:您的版本不工作,因为您需要编译并运行它工作的代码。

这个

Dim arrDaysInMonth() As String = {"1,2,3"}

和这个不一样

Dim arrDaysInMonth() As String = {"1","2","3"}

【讨论】:

  • 它需要采用这种格式 Dim arrDaysInMonth() As String = {"1,2,3"} 才能工作。
  • 这正是您现在所拥有的。一个包含一个元素的数组。
  • 当我到达代码中的这一点时 s.Points.DataBindXY(arrDaysInMonth, arrNumOfVisits) 我得到错误 索引超出了数组的范围。 .
  • arrDaysInMonth 和 arrNumOfVisits - 它的 xValues() 作为对象,ParamArray yValues()() 作为双精度数。
  • 请检查您的问题。您指的是不在您的问题中的代码。
猜你喜欢
  • 2023-03-17
  • 1970-01-01
  • 2020-10-19
  • 1970-01-01
  • 2015-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-29
相关资源
最近更新 更多