Tādi lasītāji kā jūs palīdz atbalstīt MUO. Veicot pirkumu, izmantojot saites mūsu vietnē, mēs varam nopelnīt filiāles komisiju. Lasīt vairāk.

Kad jūs deklarējat jaunu mainīgo C#, parasti tas tiek inicializēts ar noteiktu datu tipu. Tas var būt vesels skaitlis, decimālskaitlis, Būla vērtība, virkne vai cits datu tips.

Varat konvertēt vērtību no viena datu veida uz citu. Piemēram, ja pārveidojat virkni par veselu skaitli, vispirms ir jāparsē vērtība. Šeit ir daži dažādi veidi, kā konvertēt un parsēt vērtības.

Kāpēc jums ir nepieciešams konvertēt vai analizēt datus?

Piemērs, kad jums var būt nepieciešams parsēt datus, ir, ja pieprasāt lietotāja ievadi C# konsoles lietojumprogrammā:

Konsole. WriteLine("Ievadiet savu vecumu:");
stīgu alga = Konsole. ReadLine();

Šajā gadījumā lietotājs ievadīs veselu skaitli, bet lietojumprogramma to pēc noklusējuma saglabās kā virkni. Ja mēģinājāt izmantot virknes vērtību aprēķinos, jūs saņemsit kompilācijas kļūdu:

Vēl viens datu tipu konvertēšanas iemesls ir piekļuve noteiktām metodēm, kas ir pieejamas tikai noteiktam datu tipam. Piemēram, DateTime struktūra satur funkciju, kas ļauj pievienot minūtes. Ja tā vietā izmantotu virkni, jums nebūtu piekļuves metodei:

instagram viewer

Varat arī konvertēt vērtību uz citu datu tipu, ja jums bija jāievēro a datu tipa struktūra klase izveidota C# vai a struktūra C#.

Kā konvertēt un parsēt dažādus datu tipus

Varat parsēt dažādus datu tipus, piemēram, veselus skaitļus, dubultskaitļus, Būla veidus un datuma un laika veidus.

Virknes līdz veseliem skaitļiem

Lai pārvērstu virkni par veselu skaitli, izmantojiet Parse() metodi:

string strInt = "45";
starpt int32 = Int32.Parse (strInt);
Konsole. WriteLine (int32); // izvade: 45

Varat arī parsēt virkni dažādu bitu lieluma veselos skaitļos, piemēram, Int16, Int32 vai Int64.

starpt int16 = Int16.Parse (strInt);
Konsole. WriteLine (int16); // izvade: 45

Ja izmantojat metodi Parse(), pārliecinieties, vai virknes vērtība ir vesels skaitlis. Ja mēģināt parsēt vērtību, kas nav vesels skaitlis, piemēram, "Sveiki", izpildlaikā tiks parādīta parsēšanas kļūda.

virkne invalidString = "Sveiki";
starpt invalidResult = Int32.Parse (invalidString);

Varat arī izmantot metodi TryParse(), lai uztvertu visus izņēmumus, kas varētu rasties parsēšanas laikā:

starpt tryParseResult = 0;

ja (Int32.TryParse(invalidString, ārātryParseResult))
{
Konsole.WriteLine(tryParseResult);
}
cits
{
Konsole. WriteLine("Kaut kas nogāja greizi");
}

Lai pārvērstu veselu skaitli atpakaļ virknē, izmantojiet metodi ToString():

virkne intString = 45.ToString();
Konsole. WriteLine (intString); // izvade: 45

Stīgas līdz dubultspēlēm

Virknes parsēšana uz dubultu ir ļoti līdzīga vienas parsēšanai uz veselu skaitli. Izmantojiet parse() metodi no Double klases:

string strDouble = "90.5";
dubultā d = dubultā. Parsēt (strDouble);
Konsole. WriteLine (d); // izvade: 90.5

Tāpat kā ar veseliem skaitļiem, varat arī izmantot TryParse() metodi, lai uztvertu visas iespējamās parsēšanas kļūdas:

virkne invalidStringDouble = "Sveiki";
dubultā tryParseDouble = 0;

ja (Dubults.TryParse(invalidStringDouble, ārātryParseDouble))
{
Konsole.WriteLine(tryParseDouble);
}

Lai pārvērstu dubulto atpakaļ par veselu skaitli, izmantojiet metodi ToString():

dubultā dDubults = 90.5;
virkne dString = dDouble. ToString();
Konsole. WriteLine (dString); // izvade: 90.5

Dubults līdz veseliem skaitļiem

Varat izmantot apraidi, lai dubultu pārvērstu par veselu skaitli. Tā kā vesels skaitlis saglabā tikai veselu skaitli, konvertēšana noņems decimāldaļas. Piemēram, konvertējot “12,34”, tiks saglabāta tikai vērtība “12”.

dubultā dVērtība = 12.34;
starpt iValue = (starpt)dVērtība;
Konsole. WriteLine (iValue); // izvade: 12

Varat arī atgriezt veselu skaitli dubultā:

dVērtība = (dubultā)iValue;
Konsole. WriteLine (dValue); // izvade: 12

Virknes un Būla vērtības

Lai pārvērstu virkni Būla vērtībā, izmantojiet metodi Parse() vai ToBoolean():

virkne stringBool = "Taisnība";
bool b = bool. Parsēt (stringBool);

// vai

b = konvertēt. ToBool (stringBool);
Konsole. WriteLine (b); // izvade: patiess

Lai Būla vērtību pārvērstu atpakaļ par virkni, izmantojiet metodi ToString():

string strTrue = taisnība.ToString();
string strFalse = viltus.ToString();

Veseli skaitļi un Būla vērtības

Lai pārvērstu veselu skaitli Būla vērtībā, izmantojiet metodi ToBoolean(), lai pārvērstu "1" vai "0" līdzvērtīgā Būla vērtībā. Vērtība “1” tiks pārveidota par “true”, savukārt “0” pārvērš par “false”:

starpt falseBit = 0;
starpt trueBit = 1;
Konsole. WriteLine (konvertēt. ToBoolean (falseBit)); // izvade: false
Konsole. WriteLine (konvertēt. ToBoolean (trueBit)); // izvade: patiess

ToBoolean() metodei varat arī nodot veselu skaitļu vērtību, kas nav "1" vai "0". Pēc noklusējuma metode joprojām atgriezīs "true":

starpt invalidBit = 8;
Konsole. WriteLine (konvertēt. ToBoolean (invalidBit)); // izvade: patiess

Lai Būla vērtību pārvērstu atpakaļ par veselu skaitli, izmantojiet Convert. ToInt32() metode. Pārvēršot vērtību “true”, tiks atgriezta vērtība “1”, bet konvertējot “false”, tiks atgriezta vērtība “0”.

bool iBool = taisnība;
starpt bInt = Konvertēt. ToInt32(iBool);
Konsole. WriteLine (bInt); // izvade: 1

Datuma un laika virknes

Lai parsētu virkni datuma un laika formātā, izmantojiet DateTime. Parse() metode:

DateTime newDateTime = DateTime. Parse("01/01/2018 00:00:00");
Konsole. WriteLine (newDateTime); // izlaide: 01/01/2018 00:00:00

Lai datuma laiku pārvērstu atpakaļ par virkni, izmantojiet metodi ToString():

Datums Laiks dt = jauns Datums Laiks(2018, 1, 1);
virkne dtString = dt. ToString();
Konsole. WriteLine (dtString); // izlaide: 01/01/2018 00:00:00

Vērtību parsēšana dažādiem datu tipiem

Tagad jūs saprotat, kā konvertēt vērtības no viena datu veida uz citu. Šie nav vienīgie reklāmguvumi, tāpēc varat uzzināt vairāk par citiem datu veidiem C#.

Varat arī izpētīt, kā citi datu veidi darbojas citās valodās, piemēram, JavaScript.