CS1941 fordítási hiba

A záradék záradékában szereplő kifejezések egyikének típusa helytelen. A metódus hívásában nem sikerült a következtetés.

Írja be a lekérdezési kifejezések következtetését az adatforrás(ok) elemeinek típusából.

A hiba kijavítása

  1. Ha nem egyértelmű azonnal, hogy miért fordul elő a hiba, vizsgálja meg alaposan a lekérdezést, és kövesse nyomon az egyes záradékok eredményének típusát az adatforrásból a hiba előfordulásának pontjára.

Példa

Az alábbi kód a CS1941-et hozza létre, mert a rendszer megkéri az equals operátort, hogy hasonlítson össze egy int string.

// 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;  
    }  
}  

A típuskövetkeztetés meghiúsulási módszere az a metódus, amelyre a lekérdezési záradék fordításkor le lesz fordítva.

Lásd még