Почему неправильно добавляются строки в двумерный массив? - C#

Узнай цену своей работы

Формулировка задачи:

Добавляю один объект - всё нормально. Добавляю второй - длина массива увеличивается вчетверо.

Задаю так:

Листинг программы
  1. public class TrackerStruct
  2. {
  3. public GameObject TrackerObj;
  4. public Vector3 TrackerCamPos;
  5. }
  6. public List<TrackerStruct> Trackers = new List<TrackerStruct>();
  7. public List<List<TrackerStruct>> TrackerCameras = new List<List<TrackerStruct>>();

Добавляю так.

Листинг программы
  1. GameObject SomeTracker = Instantiate(TrackerPrefab, Vector3.zero, Quaternion.identity);
  2. SomeTracker.name = "Tracker" + (Trackers.Count + 1).ToString();
  3. SomeTracker.transform.SetParent(Canvas.transform);
  4. SomeTracker.GetComponent<TrackerScript>().TrackerID = Trackers.Count;
  5. Trackers.Add(new TrackerStruct
  6. {
  7. TrackerObj = SomeTracker,
  8. TrackerCamPos = new Vector3(0, 0, 0)
  9. });
  10. // something wrong
  11. for (int i = 0; i < Cameras.Count; i++)
  12. {
  13. TrackerCameras.Add(Trackers);
  14. }

Вывожу так

Листинг программы
  1. Name = "";
  2. for (int t = 0; t < Trackers.Count; t++)
  3. {
  4. for (int c = 0; c < TrackerCameras.Count; c++)
  5. {
  6. Name = Name + TrackerCameras[c][t].TrackerObj.name + " " + TrackerCameras[c][t].TrackerCamPos.ToString();
  7. }
  8. Name = Name + "\n";
  9. }
  10. Name = Name + Trackers.Count.ToString() + " " + TrackerCameras.Count.ToString();
  11. TextMassive.GetComponent<Text>().text = Name;
  12. Name = "";

Работает не так как надо. Нужно чтобы каждый трекер имел информацию по каждой камере. Если камеры 3, то и столбцов должно быть 3. А у меня получается, что при добавлении каждого трекера удваивается число столбцов.

Решение задачи: «Почему неправильно добавляются строки в двумерный массив?»

textual
Листинг программы
  1.         for (int i = 0; i < Cameras.Count; i++)
  2.         {
  3.             TrackerCameras.Add(Trackers);
  4.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.769 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы