/
aprogrammer
/
dotnet-docs
Обзор
Документация
Войти
/
aprogrammer
/
dotnet-docs
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
samples/snippets/csharp/programming-guide/string-to-number/parse-tryparse2/Program.cs
49 строк
1 KB
Matt Callahan
update "parse-tryparse" samples per published C# conventions (#21627)
19 ноя 2020, 17:37
Не верифицирован
19 ноя 2020, 17:37
f783106
Код
Авторство
О чём код?
using System; public static class StringConversion { public static void Main() { var str = " 10FFxxx"; string numericString = string.Empty; foreach (var c in str) { // Check for numeric characters (hex in this case) or leading or trailing spaces. if ((c >= '0' && c <= '9') || (char.ToUpperInvariant(c) >= 'A' && char.ToUpperInvariant(c) <= 'F') || c == ' ') { numericString = string.Concat(numericString, c.ToString()); } else { break; } } if (int.TryParse(numericString, System.Globalization.NumberStyles.HexNumber, null, out int i)) { Console.WriteLine($"'{str}' --> '{numericString}' --> {i}"); } // Output: ' 10FFxxx' --> ' 10FF' --> 4351 str = " -10FFXXX"; numericString = ""; foreach (char c in str) { // Check for numeric characters (0-9), a negative sign, or leading or trailing spaces. if ((c >= '0' && c <= '9') || c == ' ' || c == '-') { numericString = string.Concat(numericString, c); } else { break; } } if (int.TryParse(numericString, out int j)) { Console.WriteLine($"'{str}' --> '{numericString}' --> {j}"); } // Output: ' -10FFXXX' --> ' -10' --> -10 } }