Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Cannot assign 'expression' to an implicitly typed local
An expression that is used as the initializer for an implicitly typed variable must have a type. Because anonymous function expressions, method group expressions, and the null literal expression do not have a type, they are not appropriate initializers. An implicitly typed variable cannot be initialized with a null value in its declaration, although it can later be assigned a value of null.
With C# version 10 Lambda expressions and method groups with natural types can be used as initializers in var
declarations.
- Provide an explicit type for the variable.
- Or specify natural types with C# version 10 and higher.
The following code generates CS0815:
// cs0815.cs
class Test
{
public static int Main()
{
var d = s => -1; // CS0815
var e = (string s) => 0; // CS0815 for C# versions before 10
var p = null; // CS0815
var del = delegate(string a) { return -1; }; // CS0815
return -1;
}
}
.NET feedback
.NET is an open source project. Select a link to provide feedback: