csharp.aspone.cz csharp.aspone.cz

Proměnné

Co je to proměnná? Vysvětlím na analogii. Budu mít 10 krabic - ty budou proměnné. Každá bude mít svoje speciální označení: krabice 1 - krabice 10. Do každé z těch krabic něco hodím. Do jedné máslo, do druhé slivovici, do třetí vápno. Takže mám krabice (proměnné) a v něm jsou určité materiální hodnoty. Je to skoro stejné, budu mít velké X a v něm budu mít hodnotu 345678. Mám velké X a nevím, jak s ním pracovat, proto mu musím přiřadit datový typ. Datovým typem může být třeba int, float, double.

V jazyku C# je proměnná tvořena datovým typem a identifikátorem, datový typ (bude samostatný odkaz) je vlastně určení zda se jedná o krabice, šuplíky - to pak také určuje jak s nima můžu pracovat, třeba krabice jen přemisťovat a šuplíky zasouvat. Identifikátor je jméno proměnné.
V C# se určuje takto:

    datový_typ identifikátor;
    // příklad
    int k;
    

Je zde proměnná typu int nazvaná k. Když toto udělám, tak si v zásobníku rezervuji 4 bajty pro budoucí hodnotu. Proměnnou zatím nemůžu použít, jelikož není správně inicializovaná.

 
    // proměnnou deklaruju
    int k;
    // proměnnou inicializuju (uložím do ní hodnotu)
    k = 34; 
    // proměnná lze deklarovat a inicializovat naráz
    int k = 34;
    // v jednom příkazu můžu inicializovat více proměnných
    int t = 15, s = 30;
    

V jazyku C# je kladen velký důraz na inicializaci proměnných. Do proměnné musím přidat nějakou hodnotu, musím provést dříve než proměnnou použiji.


Platnost proměnných

To znamená oblast kódu, v níž lze proměnnou používat.

Datová složka - je platná tak dlouho, dokud je platná její mateřská třída.

Statická proměnná - Lokální proměnná definovaná jako static má vždy jen jednu instanci uloženou stejně jako globální proměnné, navíc její případná inicializace v definici proběhne jen jednou.

Lokální proměnná - je platná až do výskytu koncové složené závorky označující konec bloku příkazů nebo metody, v němž byla proměnná deklarována. Lokální proměnná deklarovaná v cyklu for, while je platná pouze v tomto těle cyklu. Takže poté ji můžu znovu použít.

Globální proměnná - jestliže je daná proměnná definována mimo definici jakékoli funkce, jedná se o tzv. globální proměnnou, která je narozdíl od proměnných lokálních viditelná od místa její definice až na konec definičního souboru (v jazyce C/C++ se používá klíč. slovo extern)