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)