?
to tylko cukier syntaktyczny, oznacza to, że pole jest zerowe. W rzeczywistości jest to skrót od Nullable<T>
.
W języku C# i Visual Basic zaznaczasz typ wartości jako zerowalny, używając ? notacja po typie wartości. Na przykład int? w C# lub Integer? w języku Visual Basic deklaruje typ wartości całkowitej, który można przypisać null.
Nie można przypisać null
do typów wartości, int
jest typ wartości nie może posiadać null
wartość, int?
z drugiej strony może przechowywać wartość zerową.
Tak samo jest w przypadku Color
, ponieważ jest to struktura (a więc typ wartości) i nie może posiadać wartości null, z Color?[,]
robisz tablicę wartości pustych Color.
za pytanie:
Zmienna 'a' nie jest inicjowany. Kiedy i gdzie użyłbyś tego ?
Korzystając ?
ze zmienną, nie czyni ona zainicjowana null
lub jakąkolwiek inną wartość, to musi jeszcze zostać zainicjowany.
int? a = null;
int b = null;//error since b is not nullable
Jeśli robiłeś jakieś matematyczne obliczenia w oparciu o wprowadzone przez użytkownika, co chcesz zrobić pewni, że wprowadzili liczbę, aby równanie nie używało domyślnej wartości – Sayse
Jak dodać znacznik 'nullable' obok nie wiesz co to jest'? '? –
Jestem zawsze zaskoczony, gdy widzimy, że gdy pytanie jest proste, istnieje wiele duplikatów odpowiedzi. – Nolonar