Проверка типи введенных данных
Смотрите в сторону регулярных выражений - класс System.Text.RegularExpressions.Regex.
Вот пример:
RegexOptions.Singleline | RegexOptions.Compiled);
private static bool IsAlphaDigit(string text) {
return pattern.Match(text).Success;
}
М-да уж...
Можно ещё девочку оператора посадить, при введении новой строки, ей будет отсылаться письмо со строкой и SMS с сообщением о необходимости посмотреть почту. Она смотрит буковки и циферки и пишет ответ: "число" или "не число".
:D
Я не знаю есть ли в C# функция проверки является ли строка числом, но в C# наверняка есть функция перевода строки в число. Пробуем перевести, если получается - строка число. Но автору видимо, лень копаться в документации к C#.
А если б было не лень давно бы написал функцию в три строчки (псевдокод):
if not isNumber(char): return false
return true
Можно ещё девочку оператора посадить, при введении новой строки, ей будет отсылаться письмо со строкой и SMS с сообщением о необходимости посмотреть почту. Она смотрит буковки и циферки и пишет ответ: "число" или "не число".
:D
М-да уж...
Можно ещё создать базу данных со всеми возможными комбинациями символов и для каждой комбинации указывать тип: число, строка итд... и просто обращаться к бд...
Конвертировать кажыдй символ в число не менее извращённый способ (к тому же очень долгий), регулярные выражения это то, что нужно для решения проблемы. (Потому что для решения проблеммы лучше пользоваться тем, что предназначено для решения этой проблеммы, а так можно и автомобильные шины ртом надувать)
Конвертировать кажыдй символ в число не менее извращённый способ (к тому же очень долгий), регулярные выражения это то, что нужно для решения проблемы. (Потому что для решения проблеммы лучше пользоваться тем, что предназначено для решения этой проблеммы, а так можно и автомобильные шины ртом надувать)
Конвертировать?
1) где ты видишь конвертацию?
2) даже если б была "конвертация"она выглядит примерно так: char - '0'. Офигительно сложно!
А регулярные выражения тут НЕ НУЖНЫ!
ЛМШНИЕ они тут. Это как из пушки по воробьям.
Указанная задача - не проблема, а регулярные выражения не предназначены для решения ТАКИХ элементарных задач.
1. Процесс перевода строки в число называется конвертацией.
2. Я соглашусь, что если задача стоит так: "Если строка является числом, то перевести эту строку в число и использовать" то тут конечно нужно конвертировать, но если зачача стоит "Просто проверить является ли строка числом, а потом с этой строкой что то сделать", то проверить через РВ будет проще и понятней, во всяком случае для меня, тк в С# это делается не сложнее чем сконвертировать строку в число.
ЛМШНИЕ они тут. Это как из пушки по воробьям.
Указанная задача - не проблема, а регулярные выражения не предназначены для решения ТАКИХ элементарных задач.
В принципе согласен. Просто после таких элементарных задач ставятся обычно более сложные, типа, "а что если строка должна быть написана в некотором формате XXX".
Потому ответил наиболее общим решением.:rolleyes:
З.Ы. статическая функция+аналоги для вещественных чисел bool Int32.TryParse(string text, out int value) специально нужна для попытки конвертирования строки в число.
[QUOTE=Green;240847]
Я не знаю есть ли в C# функция проверки является ли строка числом, но в C# наверняка есть функция перевода строки в число. Пробуем перевести, если получается - строка число. Но автору видимо, лень копаться в документации к C#.
1. Процесс перевода строки в число называется конвертацией.
2. Я соглашусь, что если задача стоит так: "Если строка является числом, то перевести эту строку в число и использовать" то тут конечно нужно конвертировать, но если зачача стоит "Просто проверить является ли строка числом, а потом с этой строкой что то сделать", то проверить через РВ будет проще и понятней, во всяком случае для меня, тк в С# это делается не сложнее чем сконвертировать строку в число.
[/QUOTE]
М-да...
Странно, что ты не придрался к "девочке-оператору"...
Конвертация - была лишь одним из вариантов, "для ленивых".
А вот далее идущего слона, ты, видимо, не заметил:
А если б было не лень давно бы написал функцию в три строчки (псевдокод):
if not isNumber(char): return false
return true
Где здесь конвертация?
Регулярные выражения проще и понятнее, чем этот код?
Т.е. вот этот код ПРОЩЕ и ПОНЯТНЕЕ? :D
RegexOptions.Singleline | RegexOptions.Compiled);
private static bool IsAlphaDigit(string text) {
return pattern.Match(text).Success;
}
P.S. Знание и умение пользоваться инструментом или приемом (в том числе регуляркой) ещё не повод применять и засовывать их куда не попадя.
Если уж выпендриваться, то ВЫПЕНДРИВАТЬСЯ!!! :D:D:D