Bonsoir, je demande votre aide.
Je crée des petits exercices pour mieux assimiler, mais je tombe sur un petit problème
En lisant vous allez comprendre l'exercice:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| Module Module1
Sub somme(tablo As Array, saList As List(Of Integer), maList As List(Of Integer))
For i = 0 To tablo.Length - 1
maList.Add(tablo(i) + saList.Item(i))
' maList.Item(i) = tablo(i) + saList.Item(i)
Next
End Sub
Sub Main()
Dim monTablo(20) As Integer
For i = 0 To monTablo.Length - 1
monTablo(i) = i
Next
For Each elem In monTablo
Console.WriteLine(elem)
Next
Console.WriteLine("=================================")
Console.ReadKey()
Dim maList1 As New List(Of Integer)
maList1.AddRange(monTablo)
For Each elem In maList1
Console.WriteLine(elem)
Next
Console.WriteLine("=================================")
Console.ReadKey()
Dim maList2 As New List(Of Integer)
somme(monTablo, maList1, maList2)
For Each elem In maList2
Console.WriteLine(elem)
Next
Console.ReadKey()
End Sub
End Module |
jusqu'ici pas de problème.
Mais quand j'utilise le sub somme comme suit:
1 2 3 4 5 6
| Sub somme(tablo As Array, saList As List(Of Integer), maList As List(Of Integer))
For i = 0 To tablo.Length - 1
maList.Item(i) = tablo(i) + saList.Item(i)
Next
End Sub |
Le débogueur indique une erreur à cette ligne
maList.Item(i) = tablo(i) + saList.Item(i)
voilà son message: Informations supplémentaires*:
L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection.
je ne comprends pas pourquoi (pourtant le i va de 0 à 20)
Partager