Czym są literały

0

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

4

Dzialac dziala, ale:
screenshot-20211003191320.png

Tutaj dodatkowe informacje na ten temat.

1

@p_agon: Niestety niewiele mi to mówi. Chcę zrozumieć dlaczego tak jest i nie stosować literałów tylko dlatego, że tak trzeba

3

@p_agon: skoro otrzymujesz "Compiler Error", to dlaczego piszesz, że "działa"?

5

@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.

3
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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1