Compiler Error CS1942
The type of the expression in the 'clause' clause is incorrect. Type inference failed in the call to 'method'.
This error is typically generated when the range variable has been given an incorrect explicit type.
To correct this error
- If the range variable is explicitly typed, make sure that the type is either the same as, or implicitly convertible from, the type of the elements in the collection it iterates. If the range variable is preceded with the
var
keyword, removevar
.
Example
The following code generates 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 is related to CS1949 because the use of var
with a range variable causes the underlying Cast<T>
operation to fail because var
is not a type.
See also
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for