Wie man das Schlüsselwort var nicht verwendet

Mit var kann man die Schreibweise einer Variablendeklaration verkürzen, aber man kann es auch missbrauchen wie folgendes Beispiel beweist:

var collection = (IEnumerable<string>) new List<string>();

var bewirkt, dass der Compiler den Typ des Ausdrucks auf der rechten Seite der Zuweisung ermittelt und diesen für var automatisch einsetzt. Aus var value = 23; wird intern also int value = 23;. Das var Schlüsselwort stellt keinen „varianten“ Datentyp zur Verfügung, dafür gibt es das Schlüsselwort dynamic.

MDSN: Uses and misuses of implicit typing