Czy mógł by ktoś wyjaśnić czym są literały? Wiem, że są to "lintery" np. "N" lub "F" dopisywane na końcu wartości zmiennej. Nie rozumiem jednak po co się je dopisuje skoro kod bez tej sufiksów również działa. Dzięki z góry
Dzialac dziala, ale:
Tutaj dodatkowe informacje na ten temat.
@p_agon: Niestety niewiele mi to mówi. Chcę zrozumieć dlaczego tak jest i nie stosować literałów tylko dlatego, że tak trzeba
@p_agon: skoro otrzymujesz "Compiler Error", to dlaczego piszesz, że "działa"?
@Michał Jasiński: Dobra, to inaczej... literał to wartość napisana wprost w kodzie. Tu od razu wiesz jaka jest wartość i jaki jest typ. Przykład
int a = 0;
Jak widzisz 0
, to wiesz, że w C# to jest liczba 0 o typie int
. Jeśli zobaczysz:
long b = 0l;
to literka l
na końcu znaczy, że to typ long
.
No dobrze, ale co jeśli napiszę:
class DerivedClass: BaseClass {}
//kod klasy
BaseClass b = DerivedClass.newInstance();
to nie jest literał? No nie jest. Pod BaseClass
i DerivedClass
mogą kryć się różne rzeczy. Patrząc na kod nie wiesz czy newInstance
zwróci ci obiekt typu BaseClass
czy DerivedClass
. Żeby się dowiedzieć, musisz poznać klasę BaseClass
i DerivedClass
. Jeszcze raz: literał to wartość, którą możesz przypisać do zmiennej i od razu znasz jej wartość i typ.
Michał Jasiński napisał(a):
Czy mógł by ktoś wyjaśnić czym są literały? Wiem, że są to "lintery" np. "N" lub "F" dopisywane na końcu wartości zmiennej.
Nie, to nie są te litery, chociaż różne sufiksy w literałach też występują. Samo 123
albo "Ala ma kota"
to też są literały.