Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il tipo di una delle espressioni nella clausola 'clausola' non è corretto. L'inferenza del tipo non è riuscita nella chiamata a 'metodo'.
L'inferenza del tipo nelle espressioni di query parte dal tipo degli elementi nelle origini dati.
Per correggere l'errore
- Se non è immediatamente ovvio il motivo per cui si verifica l'errore, esaminare attentamente la query e il tipo del risultato di ogni clausola dall'origine dati fino al punto in cui si verifica l'errore.
Esempio
Il codice seguente genera l'errore CS1941 perché all'operatore equals viene richiesto di confrontare un valore int con un valore 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;
}
}
Il metodo in cui l'inferenza del tipo non riesce è il metodo in cui viene convertita la clausola di query in fase di compilazione.