2015-07-02 3 views
0

как я могу заставить этот код работать?Конкатенация 2 переменных

Dim c As Integer = 0 
For iCol = 0 To reader.FieldCount 
    Dim col+c As String = reader.GetName(iCol)) 
    c = c + 1 
Next 

Благодаря

+0

Используйте массив с 'Redim Preserve' – SSS

+0

Привет Спасибо за ваши советы! – Margaretha

+0

вы не можете использовать 'col + c' как свою' String variable'. – MAC

ответ

1

Вы можете использовать List<String>, а также:

Dim lst as new List<String>(); 
For iCol = 0 To reader.FieldCount - 1 
    lst.Add(reader.GetName(iCol)); 
Next 
-1

Так вот мой код:

Dim growingArray() As String = Nothing 
For iCol = 0 To reader.FieldCount - 1 
    ReDim Preserve growingArray(iCol) 
    growingArray(iCol) = reader.GetName(iCol) 
Next 

Источник: http://www.java2s.com/Tutorial/VB/0160__Collections/UseReDimPreservetoaddelementstoanarray.htm

Благодаря SSS

+1

Если вы знаете количество полей, которые у вас есть ('reader.FieldCount'), почему бы просто не создать массив один раз с этим размером? Нет необходимости изменять размер (удалять) массив. – Neaox

0
Dim list as new List<String>(reader.FieldCount); 
For iCol = 0 To reader.FieldCount - 1 
    list.Add(reader.GetName(iCol)); 
Next 

Это является усовершенствованием выбранного ответа, как он инициализирует список с мощностью, соответствующей количество полей.

См https://msdn.microsoft.com/en-us/library/dw8e0z9z(v=vs.110).aspx

+1

Привет большое спасибо Neaox! Я добавлю его в свой код – Margaretha