Конвертация типа string в эквивалент

В C# порой бывает необходимо сохранить численное, символьное, или логическое значение в строковом типе (например, для сохранения данных в БД или файл). С конвертацией значения в строку сложностей в большинстве случаев не возникает, так как почти у каждого объекта имеется такой метод, как ToString ().

Но как получить из строки обратно double-число, символ, или логическое значение — вопрос... Но и на него есть ответ!

Для этого нужно воспользоваться методом Parse того типа, в который мы хотим преобразовать свою строку.

Например, преобразовать string в int или double можно следующим кодом:

string intStr = "12345";

int myInt = Int32.Parse(intStr);

string dblStr = "-123.456";

double myDbl = Double.Parse(dblStr, NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign);

Сконвертировать string в bool можно так:

string boolStr = "true";

bool myBool = Boolean.Parse(boolStr);

Из string в char:

string charStr = "a";

char myChar = char.Parse(charStr);

Из string в Color:

enum Colors

{

red, green, blue

}

string colorString = "blue";

Colors actualEnum = (Colors)Colors.Parse(typeof(Colors), colorString);

Остались вопросы? Задавайте!

Поблагодарить автора

2 Responses to Конвертация типа string в эквивалент

  1. Т.е. если у меня есть программа по тестированию знаний (типа кто хочет стать 1000000-нером), мне надо создать список вопросов в которых всё зашифровано. А то там всё в открытом виде и можно блокнотом открыть и посмотреть ответы. (Программа подгружает тесты из txt файла с изменённым расширением.) А так я смогу всё зашифровать и никто не будет нечестно выполнять тесты?

Оставить комментарий

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>