И быстрее в разы.
Спорно. Скорее наоборот. Насколько мне известно, foreach вообще аутсайдер по производительности в циклах .NET. Например,
тут п.6. Не истина в последней инстанции, но есть такое мнение и оно довольно резонное. Если поискать, можно найти разные тесты по замеру производительности на разных типах циклов. В общем, про "разы быстрее" - это бабка надвое сказала.
var - это зло
Опять спорно. Я не являюсь большим сторонником его использования, но злом его также не считаю. Есть в его использовании
удобства и плюсы.
На счёт foreach. Иногда лучше использовать linq, а иногда foreach.
Вот с этим согласен.