Разбор других строк
Обновлен: Ноябрь 2007
Кроме числовых строк и строк DateTime, можно также разбирать строки, представляющие типы Char, Boolean и Enum в типы данных.
Char
Статический метод разбора, связанный с типом данных Char, полезен для преобразования строки, содержащей один знак, в его значение в кодировке Юникод. В следующем примере кода выполняется разбор строки в знак Юникода.
Dim MyString As String = "A"
Dim MyChar As Char = Char.Parse(MyString)
' MyChar now contains a Unicode "A" character.
string MyString = "A";
char MyChar = Char.Parse(MyString);
// MyChar now contains a Unicode "A" character.
Boolean
Тип данных Boolean содержит метод Parse, который можно использовать для преобразования строки с логическим значением в реальный тип Boolean. Этот метод не учитывает регистр и может успешно разбирать строку, содержащую значения "True" или "False". Метод Parse, связанный с типом Boolean, может также разбирать строки, окруженные пробелами. Если передается любая другая строка, то создается исключение FormatException.
В следующем примере кода показано использование метода Parse для преобразования строки в логическое значение.
Dim MyString As String = "True"
Dim MyBool As Boolean = Boolean.Parse(MyString)
' MyBool now contains a True Boolean value.
string MyString = "True";
bool MyBool = bool.Parse(MyString);
// MyBool now contains a True Boolean value.
Перечисление
Можно использовать статический метод Parse, чтобы инициализировать значение строки типом перечисления. Этот метод получает тип перечисления для разбора, разбираемую строку и необязательный логический флаг, показывающий, будет ли при разборе учитываться регистр. Разбираемая строка может содержать несколько значений, разделенных запятыми; перед этими значениями или после них могут быть один или несколько пробелов. Если строка содержит несколько значений, то возвращаемый объект будет содержать сочетание заданных значений, полученное с использованием поразрядной операции ИЛИ.
В следующем примере показано использование метода Parse для преобразования строкового представления в значение перечисления. Перечислению DayOfWeek присваивается значение Thursday из строки.
Dim MyString As String = "Thursday"
Dim MyDays as DayOfWeek = _
CType([Enum].Parse(GetType(DayOfWeek), MyString), DayOfWeek)
Console.WriteLine(MyDays.ToString())
' The result is Thursday.
string MyString = "Thursday";
DayOfWeek MyDays = (DayOfWeek)Enum.Parse(typeof(DayOfWeek), MyString);
Console.WriteLine(MyDays);
// The result is Thursday.