MySQL Java JavaScript PHP Python HTML-CSS C-sharp

Intrare-ieșire în consolă

Ieșirea în consolă

Pentru a afișa informații în consolă, am utilizat deja metoda încorporată Console.WriteLine. Așadar, dacă dorim să afișăm informații în consolă, trebuie să le transmitem metodei Console.WriteLine:

string hello = "Salut lume";
Console.WriteLine(hello);
Console.WriteLine("Bun venit în C#!");
Console.WriteLine("La revedere, lume...");
Console.WriteLine(24.5);

Ieșirea în consolă:

Adesea este necesar să afișăm în consolă, pe aceeași linie, valorile mai multor variabile. În acest caz, putem utiliza interpolarea:

string name = "Tom";
int age = 34;
double height = 1.7;
Console.WriteLine($"Nume: {name}  Vârstă: {age}  Înălțime: {height}m");

Pentru a introduce valori individuale în șirul de caractere afișat în consolă, se folosesc acoladele, în care se încadrează valoarea introdusă. Aceasta poate fi valoarea unei variabile ({name}) sau o expresie mai complexă (de exemplu, operația de adunare {4 + 7}). În fața întregului șir se pune semnul dolar $.

La afișarea în consolă, în locul expresiilor încadrate în acolade, vor fi afișate valorile lor:

Nume: Tom  Vârstă: 34  Înălțime: 1,7m

Există un alt mod de a afișa mai multe valori simultan în consolă:

string name = "Tom";
int age = 34;
double height = 1.7;
Console.WriteLine("Nume: {0}  Vârstă: {2}  Înălțime: {1}m", name, height, age);

Aici vedem că șirul din Console.WriteLine conține câteva numere în acolade: {0}, {1}, {2}. Acestea sunt substituenți, în locul cărora, la afișarea în consolă, vor fi plasate anumite valori. Valorile care vor fi plasate sunt indicate după șir, separate prin virgulă.

Ordinea acestor substituenți este importantă. De exemplu, în acest caz, după șir, prima variabilă indicată este name, apoi height și apoi age. Prin urmare, valoarea variabilei name va fi introdusă în locul primului substituent - {0} (numerotarea începe de la zero), height - în locul {1}, iar age - în locul {2}. Astfel, la afișarea în consolă, șirul:

"Nume: {0}  Vârstă: {2}  Înălțime: {1}m"

va fi înlocuit cu:

"Nume: Tom  Vârstă: 34  Înălțime: 1,7m"

Console.Write

Pe lângă Console.WriteLine(), se poate folosi și metoda Console.Write(). Aceasta funcționează la fel, cu excepția faptului că nu adaugă o trecere la linia următoare, astfel încât ieșirea ulterioară în consolă va fi afișată pe aceeași linie.

string name = "Tom";
int age = 34;
double height = 1.7;
Console.Write($"Nume: {name}  Vârstă: {age}  Înălțime: {height}m");

Intrarea în consolă

Pe lângă afișarea informațiilor în consolă, putem obține informații din consolă. Pentru aceasta, se folosește metoda Console.ReadLine(). Aceasta permite obținerea șirului de caractere introdus.

Console.Write("Introduceți numele dvs.: ");
string? name = Console.ReadLine();
Console.WriteLine($"Salut, {name}");

În acest caz, tot ce introduce utilizatorul este transmis variabilei name cu ajutorul metodei Console.ReadLine().

Exemplu de rulare a programului:

Introduceți numele dvs.: Tom
Salut, Tom

Particularitatea metodei Console.ReadLine() este că poate citi informații din consolă doar sub formă de șir de caractere. În plus, este posibilă situația în care pentru metoda Console.ReadLine nu există șiruri disponibile pentru citire, adică atunci când nu are ce citi, returnează valoarea null, adică, practic, absența unei valori.

Pentru a reflecta această situație, definim variabila name, în care obținem intrarea din consolă, ca variabilă de tip string?. Aici, string indică faptul că variabila poate stoca valori de tip șir de caractere. Iar semnul întrebării ? indică faptul că variabila poate stoca și valoarea null, adică, practic, să nu aibă nicio valoare. Ulterior, vom discuta mai detaliat despre null și cum să lucrăm cu acesta.

Totuși, poate apărea întrebarea: ce facem dacă dorim să introducem vârsta într-o variabilă de tip int sau altă informație în variabile de tip double sau decimal? Implicit, platforma .NET oferă o serie de metode care permit conversia diverselor valori la tipurile int, double etc. Unele dintre aceste metode sunt:

  • Convert.ToInt32() (convertește la tipul int)
  • Convert.ToDouble() (convertește la tipul double)
  • Convert.ToDecimal() (convertește la tipul decimal)

Exemplu de introducere a valorilor:

Console.Write("Introduceți numele: ");
string? name = Console.ReadLine();

Console.Write("Introduceți vârsta: ");
int age = Convert.ToInt32(Console.ReadLine());

Console.Write("Introduceți înălțimea: ");
double height = Convert.ToDouble(Console.ReadLine());

Console.Write("Introduceți salariul: ");
decimal salary = Convert.ToDecimal(Console.ReadLine());

Console.WriteLine($"Nume: {name}  Vârstă: {age}  Înălțime: {height}m  Salariu: {salary}$");

La introducerea datelor, este important să ținem cont de sistemul de operare curent. În unele culturi, separatorul între partea întreagă și cea fracționară este punctul (SUA, Marea Britanie...), în altele - virgula (Rusia, Germania...). De exemplu, dacă sistemul de operare curent este în limba rusă, trebuie să introducem numerele fracționare cu separatorul virgulă. Dacă localizarea este în engleză, separatorul între partea întreagă și cea fracționară va fi punctul.

Exemplu de rulare a programului:

← Lecția anterioară Lecția următoare →