2017-07-17 2 views
0

J'ai imbriqué pour la boucle, qui ajoute Position variables à un List<List<Position>>C# Liste hors limites exception - Comment ajouter de l'espace à une liste

void populateMapPolygons() 
    { 
     for (int i = 0; i < polygonList.Count; i++) 
     { 
      for (int j = 0; j < polygonList[i].latlongs.Count; j++) 
      { 
       customMap.Polygons[i].Add(new Position(Convert.ToDouble(polygonList[i].latlongs[j].latitude), Convert.ToDouble(polygonList[i].latlongs[j].longitude))); 

      } 
     } 
    } 

Ce code lance une sortie d'exception de gamme parce que je pense que mon List<List<Position>>Polygons[i] n'est pas la même taille que polygonList.Count

Comment puis-je augmenter la taille de Polygons[i] être la même taille que [polygonList.Count] pour éviter cette erreur sur des limites?

+0

Le but d'un 'list' est d'ajouter dynamiquement retirer les membres de celui-ci, en utilisant' 'add' et Remove'. Si vous voulez une quantité prédéterminée d'enregistrements dans une collection, je conseille d'utiliser un 'Array' à la place. – Chrotenise

Répondre

3

ajouter une entrée à l'intérieur de la boucle extérieure:

customMap.Polygons.Add(new List<Position>()); 
+0

Parfait, merci. Je vais accepter la réponse dans 11 minutes quand je peux –