Что вы можете сделать, это создать новую коллекцию из переменных сервера:
foreach(var key in Request.ServerVariables.AllKeys.ToList())
{
var value = Request.ServerVariables[key];
...
}
Метод расширения ToList () создаст новый список с элементами.Если вы измените коллекцию ServerVariables, вы не будете изменять коллекцию, которую вы повторяете (поскольку она новая).
Надеюсь, это поможет.*
Просто отвечаю на ваши вопросы: 1- Эти методы предназначены для итерации коллекции.Это базовый способ управления итерацией.Если вы можете повторять, вы можете использовать foreach.2- Лучший способ - использовать foreach, так как он более читабелен, чем работа с перечислимыми.