Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Nie można przypisać wyrażenia do niejawnie wpisanego lokalnego
Wyrażenie, które jest używane jako inicjator dla niejawnie typizowanej zmiennej, musi mieć typ. Ponieważ anonimowe wyrażenia funkcji, wyrażenia grupy metod i wyrażenie literału null nie mają typu, nie są one odpowiednimi inicjatorami. Niejawnie typizowanej zmiennej nie można zainicjować z wartością null w deklaracji, chociaż później można przypisać jej wartość null.
W języku C# w wersji 10 wyrażenia lambda i grupy metod z typami naturalnymi mogą być używane jako inicjatory w var
deklaracjach.
Aby poprawić ten błąd
- Podaj jawny typ zmiennej.
- Możesz też określić typy naturalne w języku C# w wersji 10 lub nowszej.
Przykład
Poniższy kod generuje 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;
}
}