Oferty pracy dla inżynierów
  • StrefaInzyniera.pl (current)
  • Oferty pracy
  • Automatyka
    • Uprawnienia elektryczne SEP
    • Elektrotechnika
    • Elektronika
    • Automatyka
    • Robotyka
  • Przemysł
    • Przemysł
    • Obróbka metali
    • CAD
    • CATIA
    • Autodesk Inventor
  • IT
    • JAVA
    • C++
    • Sieci
  • Firmy
  • Dla firm
    • Rejestracja - profil firmy
    • Dodaj ofertę pracy - bezpłatnie
    • Publikacja artykułów
    • Kontakt
  • STREFA INŻYNIERA
  • Oferty pracy
  • Automatyka
    • Uprawnienia elektryczne SEP
    • Elektrotechnika
    • Elektroniki
    • Automatyki
    • Robotyka
  • Przemysł
    • Przemysł
    • Obróbka metali
    • CAD
    • CATIA
    • Autodesk Inventor
  • IT
    • JAVA
    • C++
    • Sieci
  • Firmy
  • Dla firm
    • Rejestracja - profil firmy
    • Dodaj ofertę pracy - bezpłatnie
    • Publikacja artykułów
    • Kontakt
  • Logowanie
  • Zaloguj się
Categories

Zmienne lokalne w C#

Zmienne lokalne są deklarowane wewnątrz metod i istnieją wyłącznie w czasie, gdy dana metoda jest wywoływana. Gdy tylko metoda zwróci sterowanie, pamięć zajmowana przez jej zmienne lokalne zostaje zwolniona dla innych zastosowań.

 

Definiowanie typu zmiennej lokalnej

Wprowadź poniższy kod do metody Main, żeby zadeklarować zmienne lokalne i przypisać im różne wartości. Zauważ, że typ zmiennej podaje się przed jej nazwą:

int populacja = 38_000_000; // 38 mln ludzi w Polsce
double waga = 1.88; // w kilogramach
decimal cena = 4.99M; // w złotówkach
string owoce = "jabłka"; // ciąg znaków w cudzysłowie
char litera = 'Z'; // znaki umieszczamy między apostrofami
bool radosc = true; // typ bool przyjmuje wartości true lub false

Visual Studio 2017 i Visual Studio Code podkreślą nazwy wszystkich tych zmiennych zielonym wężykiem, ostrzegając w ten sposób, że przypisano im wartości, ale te nigdy nie zostały użyte.

 

Wywodzenie typu zmiennej lokalnej

Podczas deklarowania zmiennych lokalnych możesz użyć słowa kluczowego var. Kompilator wywiedzie wtedy typ zmiennej z wartości literału umieszczonej za operatorem przypisania (=). Literał zwykłej liczby bez części dziesiętnej zostanie przekształcony na typ int, chyba że do literału dodasz przyrostek L — wtedy kompilator użyje typu long. Literał liczby zawierający przecinek zostanie przekształcony na typ double, chyba że będzie miał przyrostek M, co spowoduje użycie typu decimal, albo przyrostek F, który z kolei oznacza typ float. Cudzysłów nakazuje kompilatorowi użycie typu string, a apostrofy — typu char. Z kolei wartości true lub false powodują nadanie zmiennej typu bool.

Zmień swój kod, używając w nim słowa kluczowego var:

var populacja = 38_000_000; // 38 mln ludzi w Polsce
var waga = 1.88; // w kilogramach
var cena = 4.99M; // w złotówkach
var owoce = "jabłka"; // ciąg znaków w cudzysłowie
var litera = 'Z'; // znaki umieszczamy między apostrofami
var radosc = true; // typ bool przyjmuje wartości true lub false

Dobra praktyka

Co prawda używanie słowa kluczowego var jest bardzo wygodne, mimo to programiści starają się go unikać, tak żeby osoba czytająca kod mogła łatwiej rozpoznać używany typ danych. Sam wykorzystuję go tylko w przypadku, gdy użyty typ jest całkiem oczywisty. Na przykład w poniższym kodzie pierwsza instrukcja jest równie czytelna co druga, jeżeli chodzi o określenie typu zmiennej xml, a przy okazji jest nieco krótsza. Jednak już w trzeciej instrukcji wcale nie jest jasne, jaki typ otrzyma zmienna, dlatego jej wariant w postaci czwartej instrukcji jest znacznie lepszy. W razie wątpliwości lepiej jest podać typ jawnie!

// dobre użycie słowa kluczowego var
var xml1 = new XmlDocument();
// niepotrzebnie powtórzona nazwa typu XmlDocument
XmlDocument xml2 = new XmlDocument();
// złe użycie słowa kluczowego var; jaki typ otrzyma zmienna plik1?
var plik1 = File.CreateText(@"C:plik.txt");
// dobre użycie jawnej deklaracji typu
StreamWriter plik2 = File.CreateText(@"C:plik.txt");

 

Opracowano na podstawie: C# 7.1 i .NET Core 2.0 dla programistów aplikacji wieloplatformowych, Autor: Mark J. Price, Wydawnictwo: Helion

Zaloguj się aby dodać komentarz

Podobne artykuły

« Aplikacje konsoli w C#Typy object i dynamic w C# »

Podziel się ze znajomymi tym artykułem - udostępnij na FB lub wyślij e-maila korzystając z poniższych opcji:

AngielskiTechniczny.edu.pl
Oferty pracy dla inżynierów
Oferty pracy dla inżynierów

Key Account Manager/ Inżynier sprzedaży


Trójmiasto / Warszawa / Łódź / Lublin / Wrocław, mazowieckie
13 000 - 15 -000 PLN

Elektroautomatyk Utrzymania Ruchu

SPX Flow Inc.
Bydgoszcz, kujawsko-pomorskie

Elektroautomatyk Utrzymania Ruchu

SPX Flow Inc.
Bydgoszcz, kujawsko-pomorskie

Elektryk

Silverback Polska Sp. z o.o.
Szwecja, Skandynawia, dowolny Region

Monter wentylacji i izolacji

Silverback Polska Sp. z o.o.
Szwecja, Skandynawia, dowolny Region

Mechanik/Ślusarz

Workhouse4you Sp. z o.o.
Skawina, małopolskie
5600 - 6200 PLN

wszystkie oferty
PracaTechniczna.pl

Strefainzyniera.pl - rynek, praca, rozwój - wszystko co ważne dla inżynierów

  • Dla pracodawcy
  • Artykuły
  • Praca
  • Publikacje
  • Popularne stanowiska
  • Offer in English
  • Regulamin
  • Regulamin dla klientów
  • Polityka prywatności
  • Polityka cookies
  • Kontakt

© 2011 - 2021 NetPortal

Mapa strony Letnisko blisko