如标题所示,您可以为数组的每一行挂起一个值? 让我们说我有一个包含三个元素的数组。 每个元素(行)通过细胞中的以下制备形成:
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)
我不希望现在最后一个int值没有问题......
答案 0 :(得分: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)
是ziggy记录,mytThings(1)
是zoey记录。你也可以使用类的构造函数(Sub New
)来接受args并使它不那么冗长::
' requires a Sub New to assign the vars!
myThings.Add(New Foo ("there", "zoey", "all", 5))
答案 1 :(得分:0)
*有比这更好的方法......例如,请参阅Plutonix的答案。
您可以将它追加到最后,但int将转换为字符串:
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
在将来将该字符串拆分为不同的部分时,您可以将其转换回int。