Такие читатели, как вы, помогают поддерживать MUO. Когда вы совершаете покупку по ссылкам на нашем сайте, мы можем получать партнерскую комиссию. Читать далее.

Когда вы объявляете новую переменную в C#, вы обычно инициализируете ее определенным типом данных. Это может быть целое число, десятичное число, логическое значение, строка или другой тип данных.

Вы можете преобразовать значение из одного типа данных в другой. Например, если вы конвертируете строку в целое число, вам нужно сначала проанализировать значение. Вот несколько различных способов преобразования и анализа значений.

Зачем вам нужно конвертировать или анализировать данные?

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

Консоль. НаписатьСтроку("Введите свой возраст:");
строка зарплата = Console. ЧитатьСтроку();

В этом случае пользователь введет целочисленное значение, но приложение по умолчанию сохранит его в виде строки. Если вы попытаетесь использовать строковое значение в каких-либо вычислениях, вы получите ошибку компиляции:

instagram viewer

Еще одна причина для преобразования типов данных — доступ к определенным методам, доступным только для определенного типа данных. Например, структура DateTime содержит функцию, позволяющую добавлять минуты. Если бы вместо этого вы использовали строку, у вас не было бы доступа к методу:

Вы также можете преобразовать значение в другой тип данных, если вам нужно следовать структуре типа данных класс, созданный на C# или структура на С#.

Как преобразовывать и анализировать различные типы данных

Вы можете анализировать различные типы данных, такие как целые числа, двойные числа, логические типы и типы даты и времени.

Строки в целые числа

Чтобы преобразовать строку в целое число, используйте метод Parse():

строка стрИнт = "45";
инт int32 = Int32.Parse(strInt);
Консоль. WriteLine (int32); // вывод: 45

Вы также можете разобрать строку на целые числа с разной разрядностью, такие как Int16, Int32 или Int64.

инт int16 = Int16.Parse(strInt);
Консоль. WriteLine (int16); // вывод: 45

Если вы используете метод Parse(), убедитесь, что строковое значение представляет собой целое число. Если вы попытаетесь проанализировать нецелое значение, такое как «Hello», вы получите ошибку анализа во время выполнения.

строка неверная строка = "Привет";
инт недействительный результат = Int32.Parse(invalidString);

Вы также можете использовать метод TryParse() для перехвата любых исключений, которые могут возникнуть при синтаксическом анализе:

инт попыткаParseResult = 0;

если (Int32.TryParse(недействительная строка, внеtryParseResult))
{
Консоль.WriteLine(tryParseResult);
}
еще
{
Консоль. НаписатьСтроку("Что-то пошло не так");
}

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

строка intString = 45.ToString();
Консоль. WriteLine (целая строка); // вывод: 45

Струны для удвоения

Преобразование строки в двойное очень похоже на преобразование единицы в целое число. Используйте метод Parse() из класса Double:

строка стрДубл = "90.5";
двойной д = двойной. Разобрать (strDouble);
Консоль. НаписатьСтроку (д); // вывод: 90,5

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

строка недействительнаStringDouble = "Привет";
двойной попробуйтеParseDouble = 0;

если (Двойной.TryParse(недействительныйStringDouble, внепопробуйтеParseDouble))
{
Консоль.WriteLine(попробуйтеParseDouble);
}

Чтобы преобразовать двойное число обратно в целое, используйте метод ToString():

двойной dДвойной = 90.5;
строка dString = dDouble. Нанизывать();
Консоль. ЗаписьЛиния (dString); // вывод: 90,5

Двойники в целые числа

Вы можете использовать кастинг для преобразования двойного числа в целое число. Поскольку целое число хранит только целое число, преобразование удалит десятичные разряды. Например, преобразование «12,34» сохранит только значение «12».

двойной dЗначение = 12.34;
инт iЗначение = (инт)dЗначение;
Консоль. ЗаписьЛинии(iValue); // вывод: 12

Вы также можете привести целое число обратно к двойному:

dЗначение = (двойной)Я ценю;
Консоль. ЗаписьЛинии(dValue); // вывод: 12

Строки и логические значения

Чтобы преобразовать строку в логическое значение, используйте метод Parse() или ToBoolean():

строка stringBool = "Истинный";
логическое значение b = логическое значение. Разобрать (stringBool);

// или

б = конвертировать. ToBoolean (строкаBool);
Консоль. НаписатьСтроку (б); // вывод: правда

Чтобы преобразовать логическое значение обратно в строку, используйте метод ToString():

строка истинная = истинный.Нанизывать();
строка стрЛожь = ЛОЖЬ.Нанизывать();

Целые числа и логические значения

Чтобы преобразовать целое число в логическое значение, используйте метод ToBoolean() для преобразования «1» или «0» в эквивалентное ему логическое значение. Значение «1» преобразуется в «истина», а «0» преобразуется в «ложь»:

инт ложный бит = 0;
инт истинный бит = 1;
Консоль. WriteLine (Преобразовать. ToBoolean (falseBit)); // вывод: ложь
Консоль. WriteLine (Преобразовать. ToBoolean (trueBit)); // вывод: правда

Вы также можете передать целочисленное значение, отличное от «1» или «0», в метод ToBoolean(). По умолчанию метод по-прежнему будет возвращать «true»:

инт неверный бит = 8;
Консоль. WriteLine (Преобразовать. ToBoolean (invalidBit)); // вывод: правда

Чтобы преобразовать логическое значение обратно в целое, используйте метод Convert. Метод ToInt32(). Преобразование «true» вернет «1», а преобразование «false» вернет «0».

логическое значение iBool = истинный;
инт bInt = конвертировать. ToInt32(iBool);
Консоль. ЗаписьЛинии(Бинт); // вывод: 1

Строки для DateTime

Чтобы преобразовать строку в формат даты и времени, используйте метод DateTime. Метод разбора():

ДатаВремя newDateTime = ДатаВремя. Разобрать("01/01/2018 00:00:00");
Консоль. WriteLine (новая дата и время); // вывод: 01.01.2018 00:00:00

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

ДатаВремя дт = новый ДатаВремя(2018, 1, 1);
строка dtString = dt. Нанизывать();
Консоль. ЗаписьЛинии(dtString); // вывод: 01.01.2018 00:00:00

Разбор значений для разных типов данных

Теперь вы понимаете, как преобразовывать значения из одного типа данных в другой. Это не единственные преобразования, поэтому не стесняйтесь узнать больше о других типах данных в C#.

Вы также можете изучить, как другие типы данных работают в других языках, таких как JavaScript.