У меня есть список, который время от времени очищается. Код точно такой:
VisitorAgent[] toPersist;
List<VisitorAgent> v = (List<VisitorAgent>)state;
lock (v)
{
toPersist = v.ToArray();
v.Clear();
}
//further processing of toPersist objects
Сегодня я только что получил исключение Argument, которое не имеет для меня смысла, если только не было проблемы с памятью. Но если это так, то почему не исключение OOM? Что может вызвать это исключение при вызове ToArray()?
System.ArgumentException: Destination array was not long enough. Check destIndex and
length, and the array's lower bounds.
Я использую .NET 3.5 и С#.