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.
Aggiornamento: novembre 2007
Messaggio di errore
Il tipo dell'espressione nella clausola 'clausola' non è corretto. Inferenza dei tipi non riuscita nella chiamata a 'metodo'.
The type of the expression in the 'clause' clause is incorrect. Type inference failed in the call to 'method'.
Questo errore viene generato di solito quando alla variabile di intervallo è stato fornito un tipo esplicito non corretto.
Per correggere l'errore
- Se la variabile di intervallo è tipizzata in modo esplicito, assicurarsi che il tipo sia uguale a, o implicitamente convertibile da, il tipo degli elementi nell'insieme iterato. Se la variabile di intervallo è preceduta dalla parola chiave var, rimuovere var.
Esempio
Nel codice seguente viene generato l'errore CS1942:
// cs1942.cs
class Program
{
static void Main(string[] args)
{
var x = from var i in Enumerable.Range(1, 100) // CS1949
select i; //CS1942
}
}
CS1942 si riferisce a CS1949 perché l'utilizzo di var con una variabile di intervallo comporta che l'operazione Cast<T> sottostante non riesca perché var non è un tipo.
Vedere anche
Concetti
Espressioni query LINQ (Guida per programmatori C#)