【问题标题】:C# List out of bounds exception - How to add space to a listC# List out of bounds exception - 如何向列表中添加空间
【发布时间】:2017-12-21 12:54:24
【问题描述】:

我有一个嵌套的 for 循环,它将 Position 变量添加到 List<List<Position>>

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)));

            }
        }
    }

此代码引发超出范围异常,因为我认为我的 List&lt;List&lt;Position&gt;&gt; Polygons[i]polygonList.Count 的大小不同

如何将Polygons[i] 的大小增加到与[polygonList.Count] 相同的大小以避免出现这种越界错误?

【问题讨论】:

  • List 的目的是通过使用AddRemove 从中动态添加删除成员。如果您想在集合中预先确定数量的记录,我建议您改用Array

标签: c# list xamarin indexoutofboundsexception


【解决方案1】:

在外循环内添加一个条目:

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

【讨论】:

  • 完美,谢谢。我会在 11 分钟内接受答案
猜你喜欢
  • 2012-12-26
  • 1970-01-01
  • 2011-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-24
  • 1970-01-01
相关资源
最近更新 更多