Основы C# Урок 67. Конвертация типов через класс Convert
Класс Convert служит для конвертиции различных типов друг в друга. Вот так, например, можно сконвертировать строковое представление числа или булевского значения в само число или булевское значение:
string s = "1234";
int a = Convert.ToInt32(s);
bool b = Convert.ToBoolean("true");
В переменные a и b запишутся число 1234 и значение true соответственно.
Это был довольно-таки тривиальный пример. Но часто форматирование некоторого объекта зависит от региональных настроек. Например, в США в датах пишут сначала месяц, а потом число, а в России - наоборот. В этом случае мы используем метод ChangeType класса Convert, который принимает в качестве одного из параметров форматтер для конкретного региона (культуры). Вот пример:
IFormatProvider formatRu = new System.Globalization.CultureInfo("ru-RU", true);
IFormatProvider formatUS = new System.Globalization.CultureInfo("en-US", true);
DateTime f = (DateTime)Convert.ChangeType("11/12/2007", typeof(DateTime), formatRu);
f = (DateTime)Convert.ChangeType("11/12/2007", typeof(DateTime), formatUS);
После первого вызова в переменную f запишется 11 декабря, а после второго - 12 ноября.
|