将列表添加到vb.net中的另一个列表中

Naa*_*Dyr 10 vb.net list

我有一个如下列表,我想将其添加到另一个列表中:

Dim listRecord As New List(Of String)
listRecord.Add(txtRating.Text)
listRecord.Add(txtAge.Text)
listRace.Add(listRecord)  
Run Code Online (Sandbox Code Playgroud)

为了获得类似的东西{{r1,a1},{r2,a2},{r3,a3}},我怎样才能在VB.Net中实现这一目标?

Tim*_*ter 11

您可以使用List的AddRange

listRace.AddRange(listRecord)
Run Code Online (Sandbox Code Playgroud)

或者Enumerable的Concat:

Dim allItems = listRace.Concat(listRecord)
Dim newList As List(Of String) = allItems.ToList()
Run Code Online (Sandbox Code Playgroud)

如果你想消除重复,请使用Enumerable's Union:

Dim uniqueItems = listRace.Union(listRecord)
Run Code Online (Sandbox Code Playgroud)

AddRange和之间的区别Concat是:

  • Enumerable.Concat生成一个新的序列(实际上,由于Concat延迟执行,它实际上不会立即生成它,它更像是一个查询),你必须使用它ToList来创建一个新的列表.
  • List.AddRange将它们添加到同一个,List以便修改原始的.


Bin*_*ier 6

我从你的问题中假设您想要嵌套列表,而不是简单地将一个列表附加到另一个列表的末尾?

Dim listRecord As New List(Of String)
listRecord.Add(txtRating.Text)
listRecord.Add(txtAge.Text)
listRace.Add(listRecord)

Dim records as new List(of List(of String))
records.Add(listRecord)
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助

更新
阅读它们就像访问任何其他列表一样.
获取第一个记录中的第一个字段

return records(0)(0)
Run Code Online (Sandbox Code Playgroud)

第一记录中的第二个字段

return records(0)(1)
Run Code Online (Sandbox Code Playgroud)

等等...