Метод Insert выглядит следующим образом: public void Insert (int index, T item);
.
И исключение выдается в двух сценариях, так как MSDN сообщает в части о ArgumentOutOfRangeException :
- Параметр
index
меньше 0. - Параметр
index
больше Count
.
Первый вариант неверен в вашем случае, так как все ваши индексы выше нуля.Тогда это означает, что в одном из ваших else if
вы пытаетесь вставить значение в положение, намного превышающее число существующих элементов, это вызывает исключение.
Что я могу посоветовать вам, так это выполнить некоторую отладкуи посмотрите, когда у вас будет меньше элементов.Или использовать Add
вместо Insert
, дополнительную информацию вы можете найти здесь .
ОБНОВЛЕНИЕ
Например, когда вывы пытаетесь выполнить
NameList.Insert(3, (string)PhotonNetwork.LocalPlayer.CustomProperties["Name"]);
вы пытаетесь вставить элемент в положение 3
, но если у вас есть только 1 элемент в списке, ваша вставка выдает ошибку.