Personally, I'm happy to use var myVariable = new ReferenceType (); because I know that I'm going to get a variable of the type and having to specify the type again is duplication. Sometimes you need to be specific when declaring i.e: IComplexThing var = new ComplexThing ();
For interating an array and collections, then the foreach (var item in items) is OK because again I know what type I will be getting.
I usually try to use a MyType result = from x in queryable where x=>x.Id == id select x; since the type is known prior to the query, but for queries like var result = from x in queryable where x=>x.Id == id select new { Id, Name, Description}; the type is generated at query time and is not know. I try to stay away from that type of queries.