У меня несколько проблем с 2D-списком очков.Точки - это точки «Кому» и «Из» ряда линий.
Во-первых, этот фрагмент кода взят из объявления Списка.Он является частью более крупного класса с именем TacLineStruct:
// The actual MST Spine
public List <Point> [,] MSTSpine
{
get;
set;
}
public TacLineStruct(int arrayLength)
{
GroupID = new int[arrayLength];
this.EdgeList = new int[(arrayLength * arrayLength), 2];
EdgeWeight = new float[arrayLength * arrayLength];
GroupCenter = new Point[arrayLength];
this.MSTSpine = new List<Point>[arrayLength,2];
}
Далее, эти назначения вызывают ошибку во время выполнения:
Point tPoint1 = new Point((int)Army[TLS.EdgeList[i, 0]].Location.X, (int)Army[TLS.EdgeList[i, 0]].Location.Y);
Point tPoint2 = new Point((int)Army[TLS.EdgeList[i, 1]].Location.X, (int)Army[TLS.EdgeList[i, 1]].Location.Y);
TLS.MSTSpine[i,0].Add(tPoint1);
TLS.MSTSpine[i,1].Add(tPoint2);
Наконец, как вы находите счетчик для списка?Это не работает:
for(int i = 0; i < TLS.MSTSpine[0,0].Count(); i++)
Ранее я опубликовал вопрос, в котором спрашивался о правильном способе объявления, создания экземпляра и ссылки на список совпадающих точек, но он был немедленно отклонен.Я просмотрел все и до сих пор не обнаружил, что эта проблема описана ни в StackOverflow, ни в каком-либо из моих руководств.