Cvičení – nastavení a získávání hodnot z proměnných

Dokončeno

Protože proměnné jsou dočasné kontejnery pro ukládání dat, mají být do nich zapisována a z nich čtena. V následujícím cvičení budete mít možnost provést obojí.

Cvičení – práce s proměnnými

V tomto cvičení deklarujete proměnnou, přiřadíte jí hodnotu, načtete její hodnotu a další.

Vytvoření první proměnné

Nejprve vymažeme kód, který jste napsali dříve, a vytvoříme proměnnou.

  1. Vyberte veškerý kód v editoru kódu jazyka C# a stisknutím kláves Delete nebo Backspace ho odstraňte.

  2. Do editoru kódu zadejte následující kód:

    string firstName;
    firstName = "Bob";
    

Pokud chcete deklarovat proměnnou, zadejte datový typ, který chcete použít, a název proměnné. Chcete-li přiřadit hodnotu proměnné, použijte operátor přiřazení, což je znak rovnosti =.

Poznámka:

Přiřazení hodnoty se také označuje jako "nastavení proměnné", nebo jednoduše jako operace "set".

Nesprávné přiřazení hodnoty proměnné

Je důležité si všimnout, že přiřazení probíhá zprava doleva. Jinými slovy, kompilátor jazyka C# musí nejprve pochopit hodnotu na pravé straně operátoru přiřazení, pak může provést přiřazení proměnné na levé straně operátoru přiřazení. Pokud pořadí obrátíte, zmátete kompilátor jazyka C#.

  1. Upravte kód, který jste napsali, tak, aby odpovídal následujícímu kódu:

    string firstName;
    "Bob" = firstName;
    
  2. Teď tento kód spusťte. Ve výstupní konzole se zobrazí následující chyba:

    CS0131: The left-hand side of an assignment must be a variable, property or indexer
    

Nesprávné přiřazení hodnoty nesprávného datového typu proměnné

Dozvěděli jste se, že jazyk C# byl navržen tak, aby vynucoval typy. Když pracujete s proměnnými, vynucení typů znamená, že nemůžete přiřadit hodnotu jednoho datového typu proměnné deklarované pro uložení jiného datového typu.

  1. Upravte kód, který jste napsali, tak, aby odpovídal následujícímu kódu:

    int firstName;
    firstName = "Bob";
    
  2. Teď tento kód spusťte. Ve výstupní konzole se zobrazí následující chyba:

    CS0029: Cannot implicitly convert type 'string' to 'int'
    

Chybová zpráva naznačuje, co se kompilátor jazyka C# snaží provést na pozadí. Pokusil se "implicitně převést" řetězec "Bob" na int hodnotu; to však není možné. I tak se jazyk C# pokusil provést převod, ale selže, protože neexistuje žádný číselný ekvivalent slova "Bob".

Další informace o implicitním a explicitním převodu typů se dozvíte později. Prozatím nezapomeňte, že proměnná může obsahovat pouze hodnoty odpovídající zadanému datovému typu.

Načtení hodnoty uložené v proměnné

Pokud chcete načíst hodnotu z proměnné, stačí použít název proměnné. Tento příklad nastaví hodnotu proměnné a pak ji načte a zobrazí ji v konzole.

  1. Upravte kód, který jste napsali, tak, aby odpovídal následujícímu kódu:

    string firstName;
    firstName = "Bob";
    Console.WriteLine(firstName);
    
  2. Teď tento kód spusťte. Na výstupní konzole uvidíte následující výsledek:

    Bob
    

Načtení hodnoty z proměnné se také označuje jako "získání proměnné" nebo jednoduše operace "get".

Při psaní řádků kódu uvidíte, že kompilátor kontroluje kód a zjišťuje možné chyby. Kompilátor je skvělý nástroj, který vám pomůže kód opravit dříve. Teď, když znáte různé typy chyb, můžete chyby rychle opravit pomocí chybových zpráv kompilátoru.

Změna přiřazení hodnoty proměnné

Proměnnou můžete opakovaně použít a znovu přiřadit, kolikrát chcete. Tento příklad ilustruje tuto myšlenku.

  1. Upravte kód, který jste napsali, tak, aby odpovídal následujícímu kódu:

    string firstName;
    firstName = "Bob";
    Console.WriteLine(firstName);
    firstName = "Liem";
    Console.WriteLine(firstName);
    firstName = "Isabella";
    Console.WriteLine(firstName);
    firstName = "Yasmin";
    Console.WriteLine(firstName);
    
  2. Teď tento kód spusťte. Na výstupní konzole uvidíte následující výsledek:

    Bob
    Liem
    Isabella
    Yasmin
    

Inicializujte proměnnou

Před získáním hodnoty z proměnné je nutné nastavit proměnnou na hodnotu. V opačném případě se zobrazí chyba.

  1. Upravte kód, který jste napsali, tak, aby odpovídal následujícímu kódu:

    string firstName;
    Console.WriteLine(firstName);
    
  2. Teď tento kód spusťte. Na výstupní konzole uvidíte následující výsledek:

    CS0165: Use of unassigned local variable 'firstName'
    

Abyste se vyhnuli možnosti nepřiřazené místní proměnné, doporučujeme nastavit hodnotu co nejdříve po deklarování.

Ve skutečnosti můžete provést deklaraci i nastavení hodnoty proměnné v jednom řádku kódu. Tato technika se nazývá inicializace proměnné.

  1. Upravte kód, který jste napsali, tak, aby odpovídal následujícímu kódu:

    string firstName = "Bob";
    Console.WriteLine(firstName);
    
  2. Teď tento kód spusťte. Měl by se zobrazit následující výstup:

    Bob
    

Rekapitulace

Tady je, co jste se zatím naučili o práci s proměnnými:

  • Před načtením (získání) hodnoty z proměnné musíte přiřadit (nastavit) hodnotu proměnné.
  • Proměnnou můžete inicializovat přiřazením hodnoty proměnné v okamžiku deklarace.
  • Zadání probíhá zprava doleva.
  • Jako operátor přiřazení použijete jeden znak rovná se.
  • Pokud chcete načíst hodnotu z proměnné, použijte pouze název proměnné.