Compilerfehler CS1942

Der Typ des Ausdrucks in der Klausel „Klausel“ ist falsch. Fehler beim Typrückschluss im Aufruf von „Methode“.

Dieser Fehler wird in der Regel generiert, wenn der Bereichsvariable ein falscher expliziter Typ zugewiesen wurde.

So beheben Sie diesen Fehler

  1. Ist die Bereichsvariable explizit typisiert, vergewissern Sie sich, dass der Typ dem Typ der Elemente in der Auflistung, die sie durchläuft, entweder entspricht oder implizit konvertiert werden kann. Ist der Bereichsvariable das Schlüsselwort var vorangestellt, entfernen Sie var.

Beispiel

Durch den folgenden Code wird der Fehler CS1942 ausgelöst:

// cs1942.cs  
class Program  
    {  
        static void Main(string[] args)  
        {  
            var x = from var i in Enumerable.Range(1, 100) // CS1949  
                    select i; //CS1942  
        }  
    }  

CS1942 ist CS1949 zugeordnet, da die Verwendung von var mit einer Bereichsvariable dazu führt, dass der zugrundeliegende Vorgang Cast<T> fehlschlägt, weil var kein Typ ist.

Siehe auch

"var"
LINQ-Abfrageausdrücke