TOC

This article is currently in the process of being translated into Romanian (~99% done).

Notiuni de baza:

Variables

O variabila poate fi comparata cu o cutie in care pastrezi ceva si este esentiala pentru programator. In C#, o variabila se declara ca mai jos:

<tip de data> <nume>;

Un exemplu arata asa:

string name;

Asta este cea mai simpla versiune, dar variabila nu are inca o valoare. Se poate atribui o valoare la un moment dat sau in momentul declararii, ca si in exemplul de mai jos:

<data type> <name> = <value>;

Daca aceasta variabila nu este locala, nu face parte din metoda in care o folosesti (adica nu este data membru al clasei), atunci este necesar sa i stabilesti vizibilitate:

<vizibilitate> <tip de data> <nume> =<valoare>;

Si un exemplu complet:

private string name = "John Doe";

Partea de vizibilitate este legata de clase, deci veti găsi explicatii complete despre ea in capitolul despre clase. Sa ne concentrăm pe partea de variabilă cu un exemplu unde folosim cateva dintre ele:

using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string firstName = "John";
            string lastName = "Doe";

            Console.WriteLine("Name: " + firstName + " " + lastName);

            Console.WriteLine("Please enter a new first name:");
            firstName = Console.ReadLine();

            Console.WriteLine("New name: " + firstName + " " + lastName);

            Console.ReadLine();
        }
    }
}

Ok, multe dintre acestea au fost deja explicate, asa ca vom sari direct la partea interesanta. Mai întâi declarăm o pereche de variabile de tipul string. Un string contine pur si simplu text, asa cum puteti vedea, deoarece îi dăm o valoare imediat. Apoi, trimitem o linie de text la consola, unde folosim cele două variabile. Șirul este format prin utilizarea caracterelor + pentru a "colecta" diferitele părți ale textului trimis la consola.

In continuare, cerem utilizatorului sa introducă alt nume, apoi folosim metoda ReadLine() pentru a citi numele introdus de utilizator si il atribuim variabilei firstName imediat ce utilizatorul apasă Enter. In linia urmatoare afisam din nou textul cu numele nou si prenumele pentru ca sa vedem modificarile facute. Tocmai am folosit prima noastra variabila si una dintre cele mai importante functionalitati ale variabilei: Abilitatea de a-si modifica valoarea.

Un alt exemplu interesant este matematic, bazat pe instructiuni pe care tocmai le-am folosit:

int number1, number2;

Console.WriteLine("Please enter a number:");
number1 = int.Parse(Console.ReadLine());

Console.WriteLine("Thank you. One more:");
number2 = int.Parse(Console.ReadLine());

Console.WriteLine("Adding the two numbers: " + (number1 + number2));

Console.ReadLine();

Scrieti acest cod in metoda Main si incercati-l. Singurul nou "trick" pe care l-am folosit aici este metoda int.Parse(). Este simplu, se citeste un string si se face conversia la integer. Asa cum puteti vedea, aceasta aplicatie, fara efort, valideaza intrarea si daca nu este introdus un numar se emite o exceptie. Mai multe despre acestea, mai tarziu.

Variabile & domeniu

Pana acum, noi am folosit doar variabile locale, care sunt niste variabile definite si utilizate in aceeasi metoda. In C#, o variabila definita in interiorul unei metode nu poate fi utilizata in afara acestei metode - de aceea se numeste variabila locala. Daca esti familiar cu alte limbaje de programare, poate stii deja despre variabilele globale, care pot fi accesate de oriunde din program, dar C# nu suporta acest concept de variabile globale. In schimb, poti defini un camp la nivel de clasa, care poate fi folosit in toate metodele acestei clase. Permiteti-mi sa va demonstrez cu un exemplu:

using System;

namespace VariableScope
{
    class Program
    {
        private static string helloClass = "Hello, class!";

        static void Main(string[] args)
        {
            string helloLocal = "Hello, local!";
            Console.WriteLine(helloLocal);
            Console.WriteLine(Program.helloClass);
            DoStuff();
        }

        static void DoStuff()
        {
            Console.WriteLine("A message from DoStuff: " + Program.helloClass);
        }
    }
}

De observat membrul helloClass, care a fost declarat in domeniul clasei si nu in interiorul unei metode - asta ne va permite sa-l accesam din amandoua metodele, Main() respectiv DoStuff(). Asta nu este adevarat si pentru variabila noastra locala helloLocal, care a fost declarata in interiorul metodei Main() si prin urmare poate fi folosita doar in interiorul acestei metode.

Conceptul diferentierii intre locurile unde o variabila a fost declarata se numeste definire a domeniului si impiedica transformarea codului intr-o mare dezordine de variabile care pot fi schimbate din prea multe locuri. Alta tehnica poate ajuta cu asta: vizibilitatea membrului (in acest caz ilustrata prin cuvantul cheie private), pe care o vom discuta in capitolul despre clase.

Rezumat

Variabilele iti permit sa stochezi date de diferite tipuri, precum texte string, numere sau obiecte personalizate. Exista variabile locale, care sunt accesibile in interiorul metodei in care au fost definite, dar si campuri de clasa, care pot folosite pentru toate metodele clasei si chiar in afara clasei, daca vizibilitatea permite asta.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!