Предоставлено два списка:VB.Net: Ввод содержимого одного списка в другой
Dim listOfCollectiveTasks As New List(Of String) Dim listOfCollectiveTasks2 As New List(Of String)
Я добавляю элементы к listOfCollectiveTasks2
, а затем пытается удалить содержимое listOfCollectiveTasks
... потом положить содержимое listOfCollectiveTasks2
.
Код:
Public Sub testRecursive()
For Each atask In listOfCollectiveTasks
getRemainingSupportingTask(getTaskID(atask), "Collective")
'getRemainingSupportingTask(atask, "Individual")
Next
listOfCollectiveTasks = Nothing
For Each item In listOfCollectiveTasks2
Console.WriteLine(item.ToString)
Next
listOfCollectiveTasks.Concat(listOfCollectiveTasks2)
testRecursive()
End Sub
Public Sub getRemainingSupportingTask(theID As String, collectiveOrSupporting As String)
Dim rs As New ADODB.Recordset
Dim listOfTasks As New List(Of String)
Dim theQuery As String = "Select * from [SupportingTask$] where [TaskID] = "
theQuery = theQuery + "'" + theID + "'" + " and [SupportingTaskTypeName] = " + "'" + collectiveOrSupporting + "'"
rs = MyADO.executeQuery(theQuery)
Console.WriteLine(theQuery)
Do Until rs.EOF
Dim theString As String = rs.Fields("SupportingTaskNumber").Value
If String.Equals(collectiveOrSupporting, "Collective") Then
listOfCollectiveTasks2.Add(theString)
Console.WriteLine(theString)
newXlSheet.Cells(lastCollectiveRow, 1) = theString
lastCollectiveRow = lastCollectiveRow + 1
Else
'listOfIndividualTasks.Add(theString)
Console.WriteLine(theString)
newXlSheet.Cells(lastIndividualRow, 2) = theString
lastIndividualRow = lastIndividualRow + 1
End If
rs.MoveNext()
Loop
Console.WriteLine("Done")
Console.WriteLine("")
End Sub
Я получаю System.ArgumentNullException
на `listOfCollectiveTasks.Concat (listOfCollectiveTasks2). Я не могу понять, как помещать элементы из списка2 в список1.
Каково условие выхода вашей рекурсивной функции? –
Когда 'listOfCollectiveTasks' пуст – Bob
Это может быть то, что вы хотите, но это не то, что произойдет. В настоящее время у вас бесконечный цикл. Кроме того, у вас есть 'NullReferenceException', поскольку вы назначили' Nothing' 'listOfCollectiveTasks'. –