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.