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

Właśnie zacząłem używać ReSharpera z Visual Studio (po wielu zaleceniach dotyczących SO). Aby to wypróbować, otworzyłem najnowszy projekt ASP.NET MVC. Jedną z pierwszych i najczęstszych rzeczy, które zauważyłem, jest zmiana większości / wszystkich moich wyraźnych deklaracji navar zamiast. Na przykład:

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

i tak dalej, nawet w prostych typach, takich jakint, boolitd.

Dlaczego jest to zalecane? Nie pochodzę z informatyki ani z platformy .NET, która ostatnio „wpadła” w rozwój .NET, więc naprawdę chciałbym zrozumieć, co się dzieje i czy jest to korzystne, czy nie.

questionAnswers(23)

yourAnswerToTheQuestion