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
  • Zaloguj siÄ™
  • 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:

Oferty pracy dla inżynierów
Oferty pracy dla inżynierów

Inżynier, technik – konstruktor

CAD-Projekt Sp z oo
szczecin, dolnośląskie
5.300 - 14.000 PLN

Przedstawiciel Handlowy - branża elektryczna!

Workhouse4you Sp. z o.o.
Rzeszów, podkarpackie
5000-7000 zł

SPECJALISTA DS. PROJEKTÓW INWESTYCYJNYCH

NOWEL Sp. z o.o.
Legionowo, mazowieckie

Eleketromechanik/ Automatyk

NOWEL Sp. z o.o.
Legionowo, mazowieckie

Procurement Specialist

MP rekrutacja
Żyrardów, mazowieckie

Inżynier ds R&D

MP rekrutacja
Oświęcim, śląskie
8500-11000

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