2013-02-01 386 views
3

我想分割一個字符串並將分割的部分分配給變量。這對第一個變量正常工作,但我不能讓第二個變量工作。分割一個字符串並將值賦給變量

For Each columnQuarter As DataColumn In dt.Columns 
      Dim s As String = columnQuarter.ColumnName 
      Dim words As String() = s.Split("-") 
      Dim Year As String = words(0) 
      Dim Quarter As String = words(1) 
      Debug.WriteLine(Year) 
      Debug.WriteLine(Quarter) 

在線「昏暗區作爲字符串=字(1)」我得到錯誤代碼「IndexOutofRangeException是未處理的。指數陣列的邊界之外。」

ColumnName的例子是2012-Q1。

附加信息:

下面是我用我的列添加到我的DataTable中的代碼。正如你可以看到我的前兩列不包含「 - 」。

tickerColumn = New DataColumn("Ticker", Type.GetType("System.String")) 
consistencyColumn = New DataColumn("Consistency", Type.GetType("System.Int32")) 
dt.Columns.Add(tickerColumn) 
dt.Columns.Add(consistencyColumn) 

    With Me 
     lr = Now.Year - 1901 
     For i = 1 To lr 
      column = New DataColumn 
      column.DataType = System.Type.GetType("System.Int32") 
      column.ColumnName = Now.Year - i & "-Q4" 
      dt.Columns.Add(column) 

      column = New DataColumn 
      column.DataType = System.Type.GetType("System.Int32") 
      column.ColumnName = Now.Year - i & "-Q3" 
      dt.Columns.Add(column) 

      column = New DataColumn 
      column.DataType = System.Type.GetType("System.Int32") 
      column.ColumnName = Now.Year - i & "-Q2" 
      dt.Columns.Add(column) 

      column = New DataColumn 
      column.DataType = System.Type.GetType("System.Int32") 
      column.ColumnName = Now.Year - i & "-Q1" 
      dt.Columns.Add(column) 
     Next i 
    End With 
+2

是什麼字的長度,你叫拆分後(「 - 」)?你的單詞(0)的價值是多少? – openshac

+0

我稱爲Split(「 - 」)後的單詞長度爲2個字母(Q1)。我得到的單詞(0)的值是2012. – gromit1

+1

您是否驗證過DataTable中的所有**列都有連字符?這個異常意味着在拆分數組中沒有第二個元素。 –

回答

3

因爲你的前兩列沒有劃線,嘗試篩選出來:

For Each columnQuarter As DataColumn In dt.Columns 
    Dim s As String = columnQuarter.ColumnName 
    If s.Contains("-") Then 
     Dim words As String() = s.Split("-") 
     Dim Year As String = words(0) 
     Dim Quarter As String = words(1) 
     Debug.WriteLine(Year) 
     Debug.WriteLine(Quarter) 
    End If 
Next 
+0

問題解決了!非常感謝大家! – gromit1

相關問題