Подсчет конкретного имени столбца

Я просто хочу знать, почему vb не выполняет данные за октябрь? Вот мой код.

For col As Integer = 4 To ldtData.Columns.Count - 1 
If ldtData.Columns(col).ColumnName.Substring(0, 1) = "1" 
Then cnt1 = cnt1 + 1 
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 1) = "2" 
Then cnt2 = cnt2 + 1 
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 1) = "3" 
Then cnt3 = cnt3 + 1 
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 1) = "4" 
Then cnt4 = cnt4 + 1 
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 1) = "5" 
Then cnt5 = cnt5 + 1 
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 1) = "6" 
Then cnt6 = cnt6 + 1 
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 1) = "7" 
Then cnt7 = cnt7 + 1 
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 1) = "8" 
Then cnt8 = cnt8 + 1 
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 1) = "9" 
Then cnt9 = cnt9 + 1 
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 2) = "10" 
Then cnt10 = cnt10 + 1 
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 2) = "11" 
Then cnt11 = cnt11 + 1 
ElseIf ldtData.Columns(col).ColumnName.Substring(0, 2) = "12" 
Then cnt12 = cnt12 + 1 
End If 
Next

Для месяца с 1 по 9 будет учитываться количество данных на основе отдельного месяца, но для месяца 10, 11, 12. он будет выполняться как cnt1. Почему?


person Intan Nur Shafienaz    schedule 07.05.2018    source источник
comment
Вы проверили, что возвращает ldtData.Columns(col).ColumnName.Substring(0, 2)?   -  person JohnyL    schedule 07.05.2018
comment
@JohnyL да, он возвращает 10, но почему он все еще может выполняться в If ldtData.Columns(col).ColumnName.Substring(0, 1) = "1" Если в моем столбце данных 10-296GP затем выполнить команду ldtData.Columns(col).ColumnName.Substring(0, 2) = "10" должно получить 10   -  person Intan Nur Shafienaz    schedule 07.05.2018


Ответы (1)


Проблема решена путем добавления - в каждый ожидаемый результат после метода подстроки.

If ldtData.Columns(col).ColumnName.Substring(0, 1) = "1-"
.
.
. 

ElseIf ldtData.Columns(col).ColumnName.Substring(0, 1) = "10-" 
person Intan Nur Shafienaz    schedule 07.05.2018