​​Parse чисел в C#



Каждый числовый тип в C# содержит метод Parse, с помощью которого мы можем преобразовывать строки в соответствующие числовые значения:



byte b1 = byte.Parse("200");

sbyte sb1 = sbyte.Parse("-100");

float f1 = float.Parse("1.2e-4");




Однако, важно отметить, что результат выполнения этого метода может обернуться для нас и следующими исключениями:



🔸 FormatException:



int n1 = int.Parse("3.4");    // FormatException




В этом примере мы пробуем привести (распарсить) дробное значение к типу int, в результате чего получаем исключение о некорректности формата входного параметра 3.4.



🔸 OverflowException:



uint ui1 = uint.Parse("-1");  // OverflowException




В данном случае мы пытаемся привести отрицательное число к типу uint, значения которого могут быть только положительными. Как итог - исключение, сигнализирующее о переполнении.



💬 Одним из полезных атрибутов, помогающем как в документации, так и в контроле поведения, является ObsoleteAttribute. С его помощью мы можем помечать элементы программы, которые больше не должны использоваться и вскоре могут быть удалены. Обычно мы получаем предупреждение, однако, знали ли вы, что это поведение настраиваемое и мы можем даже возвращать полноценную ошибку компиляции 🙂?



#strings