Поделиться через


Анализ других строк в .NET

Кроме числовых строк и строк DateTime вы можете преобразовать строки, представляющих типы Char, Boolean или Enum, в соответствующие типы данных.

Char

Метод статического анализа, связанный с типом данныхChar, полезен для преобразования строки, содержащей один символ, в его значение в кодировке Юникод. В следующем примере кода выполняется разбор строки в символ Юникода.

String^ MyString1 = "A";
char MyChar = Char::Parse(MyString1);
// MyChar now contains a Unicode "A" character.
string MyString1 = "A";
char MyChar = Char.Parse(MyString1);
// MyChar now contains a Unicode "A" character.
Dim MyString1 As String = "A"
Dim MyChar As Char = Char.Parse(MyString1)
' MyChar now contains a Unicode "A" character.

Логический

Тип данных Boolean содержит метод Parse, который можно использовать для преобразования строки, представляющей логическое значение в реальный тип Boolean. Этот метод не учитывает регистр и может успешно проанализировать строку, содержащую значение True или False. Метод Parse, связанный с логическим типом, также может анализировать строки, окруженные пробелами. Если передать ему любую другую строку, создается исключение FormatException.

Следующий пример кода применяет метод Parse для преобразования строки в логическое значение.

String^ MyString2 = "True";
bool MyBool = bool::Parse(MyString2);
// MyBool now contains a True Boolean value.
string MyString2 = "True";
bool MyBool = bool.Parse(MyString2);
// MyBool now contains a True Boolean value.
Dim MyString2 As String = "True"
Dim MyBool As Boolean = Boolean.Parse(MyString2)
' MyBool now contains a True Boolean value.

Перечисление

Статический метод Parse можно использовать, чтобы инициализировать значение строки типом перечисления. Этот метод принимает тип перечисления, для которого нужно выполнить синтаксический анализ, анализируемую строку и необязательное логическое значение, обозначающее учет регистра при анализе. Анализируемая строка может содержать несколько значений, разделенных запятыми; перед этими значениями или после них могут быть один или несколько пробелов. Если строка содержит несколько значений, то возвращаемый объект будет содержать сочетание заданных значений, полученное с использованием побитовой операции OR.

Следующий пример использует метод Parse для преобразования строкового представления в значение перечисления. Перечислению DayOfWeek присваивается значение Thursday, найденное в строке.

String^ MyString3 = "Thursday";
DayOfWeek MyDays = (DayOfWeek)Enum::Parse(DayOfWeek::typeid, MyString3);
Console::WriteLine(MyDays);
// The result is Thursday.
string MyString3 = "Thursday";
DayOfWeek MyDays = (DayOfWeek)Enum.Parse(typeof(DayOfWeek), MyString3);
Console.WriteLine(MyDays);
// The result is Thursday.
Dim MyString3 As String = "Thursday"
Dim MyDays As DayOfWeek = CType([Enum].Parse(GetType(DayOfWeek), MyString3), DayOfWeek)
Console.WriteLine("{0:G}", MyDays)
' The result is Thursday.

См. также