Я знаю, это звучит упрощенно, но просто скажите нет изменяемым типам значений .
Они почти никогда правильное решение проблемы. Есть очень несколько исключений, но классы почти всегда путь.
Кроме того, если вы действительно используете ArrayList
, то вы уже понесете расходы на распаковку ... (Как говорит Конрад, если вы можете использовать .NET 2.0, используйте универсальные шаблоны).
Если вы действительно настаиваете на использовании изменяемых структур, тогда используйте for
цикл вместо foreach
. Но, пожалуйста, все равно переходите на занятия.