Как обрабатывать список ArgumentOutOfRangeException - PullRequest
0 голосов
/ 21 июня 2011

Словарь класс имеет TryGetValue Список Я думаю, имеет только Содержит (не работает на основе индексов)

Но этого недостаточно для того, как я это делаю ..

когда я добавляю какой-либо объект в список.

Я использую list.IndexOf(objectJustAdded); для получения индексного местоположения объекта.

На моем сервере клиент имеет тот же список и просто отправляет индекс спискак серверу вот так сервер получает доступ к объекту, хранящемуся в списке.

Теперь я пытаюсь предотвратить ArgumentOutOfRangeException, что, как я думаю, не может произойти, но я хочу сделать сервер устойчивым против хакерской атаки, если кто-то отправляетнеправильно сформированный пакет с плохим индексом в списке ... это исключение может появиться.

Как лучше всего справиться с этим?Try/Catch? что лучше?

Ответы [ 2 ]

0 голосов
/ 21 июня 2011

Если вы собираетесь пройтись по индексам, вы можете сделать что-то вроде этого:

double removedCount = 0;
for (int i = 0; i <= lst.Count - 1; i++) {
  lst.RemoveAt(i - removedCount);
  removedCount = removedCount + 1;
}
0 голосов
/ 21 июня 2011

вместо этого отправьте хэш-код объекта и используйте словарь

...