Heim >Backend-Entwicklung >C++ >Warum kann ich einer „var'-Variablen in C# keine anonyme Methode zuweisen?
Warum eine anonyme Methode nicht Var zugewiesen werden kann
Wenn Sie auf eine anonyme Methode stoßen wie:
delegate(string value) { return value != "0"; }
Der Compiler ist vor einer Herausforderung stehen. Im Gegensatz zu einem typisierten Lambda-Ausdruck wie:
Funccomparer = delegate(string value) { return value != "0"; };
Die anonyme Methode gibt nicht explizit einen Delegatentyp an. Der Compiler muss diesen Typ anhand der Signatur der Methode ableiten. Es gibt jedoch unendlich viele potenzielle Delegatentypen, die diese Bedingungen erfüllen, mit unterschiedlichen Parametern und Rückgabewerten.
Das Ableiten des Typs für eine anonyme Methode bringt mehrere Probleme mit sich:
Daher verhindert der Compilerfehler „Eine anonyme Methode kann einer implizit typisierten lokalen Variablen nicht zugewiesen werden“ die Verwendung von var mit anonymen Methoden.
Das obige ist der detaillierte Inhalt vonWarum kann ich einer „var'-Variablen in C# keine anonyme Methode zuweisen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!