Când declarați o nouă variabilă în C#, de obicei o veți inițializa cu un anumit tip de date. Acesta poate fi un număr întreg, zecimal, boolean, șir sau alt tip de date.
Puteți converti o valoare dintr-un tip de date în altul. De exemplu, dacă convertiți un șir într-un număr întreg, mai întâi va trebui să analizați valoarea. Iată câteva moduri diferite în care puteți converti și analiza valori.
De ce trebuie să convertiți sau să analizați datele?
Un exemplu de situație în care poate fi necesar să analizați date este dacă solicitați intrarea utilizatorului într-o aplicație de consolă C#:
Consolă. WriteLine("Introduceți vârsta dvs:");
string salariu = Consola. Citeste linia();
În acest caz, utilizatorul va introduce o valoare întreagă, dar aplicația o va stoca implicit ca șir. Dacă ați încercat să utilizați valoarea șirului în orice calcule, veți obține o eroare de compilare:
Un alt motiv pentru a converti tipuri de date este accesarea anumitor metode care sunt disponibile numai pentru un anumit tip de date. De exemplu, structura DateTime conține o funcție care vă permite să adăugați minute. Dacă ați folosi un șir în schimb, nu ați avea acces la metoda:
De asemenea, este posibil să doriți să convertiți o valoare într-un alt tip de date dacă ați trebuit să urmați structura tipului de date a a clasa creata in C# sau a structura in C#.
Cum să convertiți și să analizați diferite tipuri de date
Puteți analiza diferite tipuri de date, cum ar fi numere întregi, duble, tipuri booleene și tipuri de date și oră.
Șiruri la numere întregi
Pentru a converti un șir într-un număr întreg, utilizați metoda Parse():
string strInt = "45";
int int32 = Int32.Parse (strInt);
Consolă. WriteLine (int32); // ieșire: 45
De asemenea, puteți analiza șirul în numere întregi de diferite dimensiuni de biți, cum ar fi Int16, Int32 sau Int64.
int int16 = Int16.Parse (strInt);
Consolă. WriteLine (int16); // ieșire: 45
Dacă utilizați metoda Parse(), asigurați-vă că valoarea șirului reprezintă un număr întreg. Dacă încercați să analizați o valoare care nu este întreagă, cum ar fi „Bună ziua”, veți primi o eroare de analiză în timpul execuției.
șir invalidString = "Buna ziua";
int invalidResult = Int32.Parse (invalidString);
De asemenea, puteți utiliza metoda TryParse() pentru a detecta orice excepții care ar putea apărea la analiza:
int tryParseResult = 0;
dacă (Int32.TryParse(invalidString, afarăîncercațiParseResult))
{
Consolă.WriteLine(încercațiParseResult);
}
altfel
{
Consolă. WriteLine("Ceva n-a mers bine");
}
Pentru a converti un număr întreg înapoi într-un șir, utilizați metoda ToString():
string intString = 45.ToString();
Consolă. WriteLine (intString); // ieșire: 45
Coarde la dublu
Analizarea unui șir la un dublu este foarte asemănătoare cu analizarea unui șir la un număr întreg. Utilizați metoda Parse() din clasa Double:
șir strDouble = "90.5";
dubla d = dublu. Parse (strDouble);
Consolă. WriteLine (d); // ieșire: 90,5
Ca și în cazul numerelor întregi, puteți utiliza și metoda TryParse() pentru a detecta orice erori de analizare care ar putea apărea:
șir invalidStringDouble = "Buna ziua";
dubla tryParseDouble = 0;
dacă (Dubla.TryParse(invalidStringDouble, afarăîncercațiParseDouble))
{
Consolă.WriteLine(încercațiParseDouble);
}
Pentru a converti un dublu înapoi într-un număr întreg, utilizați metoda ToString():
dubla ddublu = 90.5;
șir dString = dDouble. ToString();
Consolă. WriteLine (dString); // ieșire: 90,5
Se dublează la numere întregi
Puteți folosi casting pentru a converti un dublu într-un întreg. Deoarece un număr întreg stochează doar un număr întreg, conversia va elimina zecimale. De exemplu, conversia „12.34” va stoca doar valoarea „12”.
dubla dValue = 12.34;
int iValue = (int)dValoare;
Consolă. WriteLine (iValue); // ieșire: 12
De asemenea, puteți transforma un întreg înapoi într-un dublu:
dValue = (dubla)iValoare;
Consolă. WriteLine (dValue); // ieșire: 12
Șiruri și valori booleene
Pentru a converti un șir într-un șir boolean, utilizați fie metoda Parse() fie ToBoolean():
string stringBool = "Adevărat";
bool b = bool. Parse (stringBool);// sau
b = Convert. ToBoolean (stringBool);
Consolă. WriteLine (b); // ieșire: adevărat
Pentru a converti un boolean înapoi într-un șir, utilizați metoda ToString():
șir strTrue = Adevărat.ToString();
șir strFalse = fals.ToString();
Numerele întregi și valorile booleene
Pentru a converti un număr întreg într-un boolean, utilizați metoda ToBoolean() pentru a converti fie „1” fie „0” la valoarea sa booleană echivalentă. Valoarea „1” se va converti în „adevărat”, în timp ce „0” se va converti în „fals”:
int falseBit = 0;
int trueBit = 1;
Consolă. WriteLine (Conversie. ToBoolean (falseBit)); // ieșire: fals
Consolă. WriteLine (Conversie. ToBoolean (trueBit)); // ieșire: adevărat
De asemenea, puteți trece o valoare întreagă, alta decât „1” sau „0” metodei ToBoolean(). În mod implicit, metoda va returna în continuare „adevărat”:
int invalidBit = 8;
Consolă. WriteLine (Conversie. ToBoolean (invalidBit)); // ieșire: adevărat
Pentru a converti un boolean înapoi într-un număr întreg, utilizați Conversia. Metoda ToInt32(). Conversia „adevărat” va returna un „1”, iar conversia „fals” va returna un „0”.
bool iBool = Adevărat;
int bInt = Convert. ToInt32(iBool);
Consolă. WriteLine (bInt); // ieșire: 1
Șiruri la DateTime
Pentru a analiza un șir în format datetime, utilizați DateTime. Metoda Parse():
DateTime newDateTime = DateTime. Analiza("01/01/2018 00:00:00");
Consolă. WriteLine (newDateTime); // ieșire: 01/01/2018 00:00:00
Pentru a converti o dată și oră înapoi într-un șir, utilizați metoda ToString():
DateTime dt = nou DataTime(2018, 1, 1);
șir dtString = dt. ToString();
Consolă. WriteLine (dtString); // ieșire: 01/01/2018 00:00:00
Analizarea valorilor la diferite tipuri de date
Acum înțelegeți cum să convertiți valorile de la un tip de date la altul. Acestea nu sunt singurele conversii disponibile, așa că nu ezitați să aflați mai multe despre alte tipuri de date în C#.
De asemenea, puteți explora modul în care alte tipuri de date funcționează în alte limbi, cum ar fi JavaScript.