Ich weiß, wir können dies nicht auf Klassenebene tun, aber auf Methodenebene können wir das immer tun.Warum können wir nicht var a = neue Liste <string> auf Klassenebene deklarieren?
var myList=new List<string> // or something else like this
Diese Frage kam mir in den Sinn, da wo wir Variable wie diese erklären. Wir stellen immer die Typinformation an der RHS des Ausdrucks zur Verfügung. Der Compiler muss also nicht tippen. (korrigiere mich, wenn ich falsch liege).
so bleibt die Frage, warum in den Klassen NICHT während sein auf Verfahren Ebene erlaubt
Yup, es auf jeden Fall hätte getan werden können. Ich vermute, dass es aus Gründen der Lesbarkeit nicht implementiert ist - die Einschränkung der Typinferenz mit var auf lokale Variablen bedeutet, dass man sie nur im Kontext ihrer Verwendung sieht. –
Dies ist falsch. Siehe meine Antwort. Es gibt technische Probleme. – Brian