Why does ReSharper want to use 'var' for everything?

Ich habe gerade angefangen, ReSharper mit Visual Studio zu verwenden (nach den vielen Empfehlungen zu SO). Zum Ausprobieren habe ich ein aktuelles ASP.NET MVC-Projekt geöffnet. Eines der ersten und häufigsten Dinge, die mir aufgefallen sind, ist, die meisten / alle meine ausdrücklichen Erklärungen in zu ändernvar stattdessen. Zum Beispiel:

//From This:
MyObject foo = DB.MyObjects.SingleOrDefault(w => w.Id == 1);
//To This:
var foo = DB.MyObjects.SingleOrDefault(w => w.Id == 1);

und so weiter, auch bei einfachen typen wieint, bool, usw.

Warum wird das empfohlen? Ich komme nicht aus der Informatik oder aus dem .NET-Bereich, da ich in letzter Zeit in die .NET-Entwicklung "hineingefallen" bin. Ich möchte also wirklich verstehen, was los ist und ob es von Nutzen ist oder nicht.

Antworten auf die Frage(23)

Ihre Antwort auf die Frage