Compiler Error CS1941

Der Typ eines Ausdrucks in der "Klausel"-Klausel ist falsch.Fehler beim Typrückschluss im Aufruf von "Methode".

Der Rückschluss auf Typen in Abfrageausdrücken ergibt sich aus dem Typ der Elemente in der Datenquelle bzw. in den Datenquellen.

So beheben Sie diesen Fehler

  1. Falls die Ursache des Fehlers nicht unmittelbar ersichtlich ist, untersuchen Sie die Abfrage sorgfältig und verfolgen Sie den Typ jedes einzelnen Klauselergebnisses von der Datenquelle hin zu dem Punkt, an dem der Fehler auftritt.

Beispiel

Der folgende Code führt zu Fehler CS1941, da der Operator equals int mit string vergleichen soll.

// cs1941.cs  
using System.Collections;  
using System.Linq;  
class Test  
{  
    static int Main()  
    {  
        var nums = new[] { 1, 2, 3, 4, 5, 6 };  
        var words = new string[] { "lake", "mountain", "sky" };  
        IEnumerable e = from n in nums  
                        join w in words on n equals w // CS1941  
                        select w;  
        return 0;  
    }  
}  

Die Methode, bei der ein Fehler im Typrückschluss auftritt, ist die Methode, in die die Abfrageklausel zur Kompilierzeit übersetzt wird.

Siehe auch

LINQ-Abfrageausdrücke
Type Relationships in LINQ Query Operations