Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Помимо возможности хранения одиночного элемента символьных данных тип
System.CharSystem.Charstatic void CharFunctionality(){ Console.WriteLine("=> char type Functionality:"); char myChar = 'a'; Console.WriteLine("char.IsDigit('a'): {0}", char.IsDigit(myChar)); Console.WriteLine("char.IsLetter('a'): {0}", char.IsLetter(myChar)); Console.WriteLine("char.IsWhiteSpace('Hello There', 5): {0}", char.IsWhiteSpace("Hello There", 5)); Console.WriteLine("char.IsWhiteSpace('Hello There', 6): {0}", char.IsWhiteSpace("Hello There", 6)); Console.WriteLine("char.IsPunctuation('?'): {0}", char.IsPunctuation('?')); Console.WriteLine();}В методе
CharFunctionality()System.CharРазбор значений из строковых данных
Типы данных .NET Core предоставляют возможность генерировать переменную лежащего в основе типа, имея текстовый эквивалент (например, путем выполнения разбора) Такой прием может оказаться исключительно удобным, когда вы хотите преобразовывать в числовые значения некоторые вводимые пользователем данные (вроде элемента, выбранного в раскрывающемся списке внутри графического пользовательского интерфейса) Ниже приведен пример метода
ParseFromStrings()static void ParseFromStrings(){ Console.WriteLine("=> Data type parsing:"); bool b = bool.Parse("True"); Console.WriteLine("Value of b: {0}", b); // Вывод значения b double d = double.Parse("99.884"); Console.WriteLine("Value of d: {0}", d); // Вывод значения d int i = int.Parse("8"); Console.WriteLine("Value of i: {0}", i); // Вывод значения i char c = Char.Parse("w"); Console.WriteLine("Value of c: {0}", c); // Вывод значения с Console.WriteLine();}Использование метода TryParse() для разбора значений из строковых данных
Проблема с предыдущим кодом связана с тем, что если строка не может быть аккуратно преобразована в корректный тип данных, то сгенерируется исключение. Например, следующий код потерпит неудачу во время выполнения:
bool b = bool.Parse("Hello");Решение предусматривает помещение каждого вызова
Parse()try-catchTryParse()TryParse()outoutboolParseFromStringWithTryParse()static void ParseFromStringsWithTryParse(){ Console.WriteLine("=> Data type parsing with TryParse:"); if (bool.TryParse("True", out bool b)) { Console.WriteLine("Value of b: {0}", b); // Вывод значения b } else { Console.WriteLine("Default value of b: {0}", b); // Вывод стандартного значения b } string value = "Hello"; if (double.TryParse(value, out double d)) { Console.WriteLine("Value of d: {0}", d); } else { // Преобразование входного значения в double потерпело неудачу // и переменной было присвоено стандартное значение. Console.WriteLine("Failed to convert the input ({0}) to a double and the variable was assigned the default {1}", value,d); } Console.WriteLine();}Если вы только начали осваивать программирование и не знаете, как работают операторы
if/elseTryParse()trueTryParse()false