Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор. Прочетете още.

Когато декларирате нова променлива в C#, обикновено ще я инициализирате с определен тип данни. Това може да е цяло число, десетичен знак, булев тип, низ или друг тип данни.

Можете да конвертирате стойност от един тип данни в друг. Например, ако преобразувате низ в цяло число, първо ще трябва да анализирате стойността. Ето няколко различни начина, по които можете да конвертирате и анализирате стойности.

Защо трябва да конвертирате или анализирате данни?

Пример за това, когато може да се наложи да анализирате данни е, ако искате потребителско въвеждане в C# конзолно приложение:

Конзола. WriteLine("Въведете вашата възраст:");
низ заплата = конзола. ReadLine();

В този случай потребителят ще въведе целочислена стойност, но приложението ще я съхрани като низ по подразбиране. Ако се опитате да използвате стойността на низа в изчисления, ще получите грешка при компилиране:

instagram viewer

Друга причина за преобразуване на типове данни е достъпът до определени методи, които са налични само за определен тип данни. Например структурата DateTime съдържа функция, която ви позволява да добавяте минути. Ако вместо това използвате низ, няма да имате достъп до метода:

Може също да искате да конвертирате стойност в друг тип данни, ако трябва да следвате структурата на типа данни на a клас, създаден в C# или а структура в C#.

Как да конвертирате и анализирате различни типове данни

Можете да анализирате различни типове данни като цели числа, двойни числа, булеви типове и типове дата и час.

Низове към цели числа

За да конвертирате низ в цяло число, използвайте метода Parse():

низ strInt = "45";
вътр int32 = Int32.Parse (strInt);
Конзола. WriteLine (int32); // изход: 45

Можете също така да анализирате низа на цели числа с различни битови размери, като Int16, Int32 или Int64.

вътр int16 = Int16.Parse (strInt);
Конзола. WriteLine (int16); // изход: 45

Ако използвате метода Parse(), уверете се, че стойността на низа представлява цяло число. Ако се опитате да анализирате стойност, която не е цяло число, като например "Hello", ще получите грешка при анализиране по време на изпълнение.

невалиден низ = "Здравейте";
вътр invalidResult = Int32.Parse (invalidString);

Можете също така да използвате метода TryParse(), за да уловите всички изключения, които могат да възникнат при анализиране:

вътр tryParseResult = 0;

ако (Int32.TryParse(invalidString, навънtryParseResult))
{
Конзола.WriteLine(tryParseResult);
}
друго
{
Конзола. WriteLine("Нещо се обърка");
}

За да конвертирате цяло число обратно в низ, използвайте метода ToString():

низ intString = 45.ToString();
Конзола. WriteLine (intString); // изход: 45

Низове към двойни

Разборът на низ до двойно е много подобен на разбора на едно до цяло число. Използвайте метода Parse() от класа Double:

низ strDouble = "90.5";
двойно d = двойно. Разбор (strDouble);
Конзола. WriteLine (d); // изход: 90.5

Както при целите числа, можете също да използвате метода TryParse(), за да уловите всякакви грешки при анализиране, които могат да възникнат:

низ invalidStringDouble = "Здравейте";
двойно tryParseDouble = 0;

ако (Двойна.TryParse(invalidStringDouble, навънопитайте ParseDouble))
{
Конзола.WriteLine(опитайте ParseDouble);
}

За да конвертирате двойно обратно в цяло число, използвайте метода ToString():

двойно dДвойно = 90.5;
низ dString = dDouble. ToString();
Конзола. WriteLine (dString); // изход: 90.5

Удвоява до цели числа

Можете да използвате кастинг, за да преобразувате двойно в цяло число. Тъй като цяло число съхранява само цяло число, преобразуването ще премахне десетичните знаци. Например преобразуването на "12.34" ще съхрани само стойността "12".

двойно dValue = 12.34;
вътр iValue = (вътр)dСтойност;
Конзола. WriteLine (iValue); // изход: 12

Можете също така да прехвърлите цяло число обратно към двойно:

dValue = (двойно)iValue;
Конзола. WriteLine (dValue); // изход: 12

Низове и булеви стойности

За да преобразувате низ в булево, използвайте метода Parse() или ToBoolean():

низ stringBool = "Вярно";
bool b = bool. Парсиране (stringBool);

// или

b = Преобразуване. ToBoolean (stringBool);
Конзола. WriteLine (b); // изход: вярно

За да конвертирате булева стойност обратно в низ, използвайте метода ToString():

низ strTrue = вярно.ToString();
низ strFalse = невярно.ToString();

Цели числа и булеви стойности

За да преобразувате цяло число в булево, използвайте метода ToBoolean(), за да преобразувате или "1", или "0" в неговата еквивалентна булева стойност. Стойността "1" ще се преобразува в "true", докато "0" се преобразува в "false":

вътр falseBit = 0;
вътр trueBit = 1;
Конзола. WriteLine (Конвертиране. ToBoolean (falseBit)); // изход: невярно
Конзола. WriteLine (Конвертиране. ToBoolean (trueBit)); // изход: вярно

Можете също така да подадете цяло число, различно от "1" или "0", към метода ToBoolean(). По подразбиране методът пак ще връща "true":

вътр invalidBit = 8;
Конзола. WriteLine (Конвертиране. ToBoolean (invalidBit)); // изход: вярно

За да конвертирате булево обратно в цяло число, използвайте Convert. Метод ToInt32(). Преобразуването на „true“ ще върне „1“, а преобразуването на „false“ ще върне „0“.

bool iBool = вярно;
вътр bInt = Преобразуване. ToInt32(iBool);
Конзола. WriteLine (bInt); // изход: 1

Низове към DateTime

За да анализирате низ във формат за дата и час, използвайте DateTime. Метод Parse():

DateTime newDateTime = Дата и час. Анализирай ("01/01/2018 00:00:00");
Конзола. WriteLine (нова дата и час); // изход: 01/01/2018 00:00:00

За да конвертирате дата и час обратно в низ, използвайте метода ToString():

Дата и час dt = нов Време за среща(2018, 1, 1);
низ dtString = dt. ToString();
Конзола. WriteLine (dtString); // изход: 01/01/2018 00:00:00

Анализиране на стойности към различни типове данни

Сега разбирате как да конвертирате стойности от един тип данни в друг. Това не са единствените преобразувания, така че не се колебайте да научите повече за други типове данни в C#.

Можете също така да проучите как работят други типове данни на други езици, като JavaScript.