-1

ねえ、私は次のように配列にデータを入力しようとしています:

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)

ただし、そのようにできるとは思えません。このようにすると、1D配列にのみ配置され、必要に応じて{1,2,3,4,5...}タイプの配列には配置されないようです。になります。

どんな助けでも素晴らしいでしょう!

デビッド

4

2 に答える 2

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"
    ' ...
于 2012-04-17T00:00:51.007 に答える
0

配列を動的に作成する場合は、配列を使用しないことをお勧めします。コレクションははるかに高速で、リソースを節約できるため、コレクションを使用する必要があります。

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"}
于 2012-04-16T23:36:41.873 に答える