2014-12-21 2 views
0

Как видно из названия, вы можете повесить значение для каждой строки массива? Предположим, у меня есть массив, содержащий три элемента. Каждый элемент (строка) формируется с помощью следующего препарата в клетках:Как добавить значение к каждой строке массива

home, host, share 

всего клетки = 2 (из-за части 0 в массиве). Вы можете добавить последнюю ячейку, затем после акции, значение по желанию? Это очевидно для каждой строки массива. Таким образом, чтобы иметь, например:

line [0] => home, host, share, 3 
line [1] => home, host, share, 3 
line [2] => home, host, share, 3 

Как вы можете это сделать? Я хочу уточнить, что массив так сказал:

Dim array As New List(Of String) 

Я не хотел бы, что сейчас нет никаких проблем с последним значением, которое является ква ...

+1

Не называйте переменную такой же, как массив данных DataType. Почему бы не создать собственный класс вместо массива строк для хранения нескольких точек данных? – OneFineDay

+0

В будущем, теперь я бы просто выбрал функцию. –

+2

Это не слишком рано, чтобы реорганизовать ваш код. – Neolisk

ответ

0

* Есть много лучше подходит, чем это ... смотрите ответ на Plutonix, например.

Вы можете добавить его в конце концов просто отлично, но ИНТ будет преобразован в строку:

Dim data As New List(Of String) 
    data.Add("home1, host1, share1") 
    data.Add("home2, host2, share2") 
    data.Add("home3, host3, share3") 

    For i As Integer = 0 To data.Count - 1 
     data(i) = data(i) & ", " & i.ToString 
    Next 

    For Each entry As String In data 
     Debug.Print(entry) 
    Next 

Было бы вас, чтобы преобразовать его обратно в междунар когда вы разделяете эта строка в разные стороны в будущем.

1

Ваши вопросы будут понятнее если вы использовали правильные условия. Люди задают так много вопросов, прежде чем отправлять ответ, чтобы убедиться, что ваш DataTable действительно System.Data.DataTable, или если ваш массив действительно массив. В этом случае вы не используете массив (кроме как имя переменной). Это List(of String) или, как правило, коллекция.

В качестве List(Of String) вы не можете «повесить» или добавить к нему целое число. Но вы можете изменить его, чтобы держать класс в соответствующих данных:

Class Foo    ' no idea what these are 
    Public Property Home As String 
    Public Property Host As String 
    Public Property Share As String 
    Public Property Value As Integer 

End Class 

Private myThings As New List(of Foo) 

' add one thing: 
Dim f As New Foo 
f.Home = ... 
f.Host = ... 
f.Share = ... 
f.Value = 3 
myThings.Add(f) 

Теперь все 4 элементов данных в myThings(0). Чтобы вернуть их:

Console.WriteLine(myThings(0).Home) 

Существует множество способов свернуть приведенный выше код. Это как в иллюстративных целях.


myThings.Add(New Foo With {.Home ="here", .Host="ziggy", 
          .Share="none", .Value=3}) 

myThings.Add(New Foo With {.Home ="there", .Host="zoey", 
          .Share="all", .Value=5}) 

myThings(0) является Зигги запись, mytThings(1) является Zoey запись. Вы можете также использовать конструктор для класса (Sub New) принять арг и сделать его менее многословным ::

' requires a Sub New to assign the vars! 
myThings.Add(New Foo ("there", "zoey", "all", 5))