У меня есть ENUM определяются следующим образом:Как найти и определить приоритеты слов из данного списка Enum?
public enum TextType {
JOIN,
SUBSCRIBE,
STOP,
HELP,
CANCEL,
UNSUBSCRIBE,
UPGRADE,
BALANCE,
USAGE
}
Я хотел бы расставить приоритеты в этом и фильтровать его следующим образом:
Да (если телефон еще не подтвержденный получить текст затем принять этот текст, иначе игнорировать и перейти к следующей один) остановке, отменить подписку справки баланса или ИСПОЛЬЗОВАНИЕ ОБНОВЛЕНИЕ
Так в основном, когда пользователь отправляет текст сказать «ДА БАЛАНС», то внутри первым я чек, чтобы видеть, что я f зарегистрирован номер телефона . Если зарегистрировано, я должен использовать текст «Баланс» и вернуть баланс. Но если телефон нам незарегистрирован , тогда я должен использовать текст «ДА», чтобы сначала зарегистрировать телефон и игнорировать остальные. Моя проблема в настоящее время я использую Enum.IsDefined, чтобы узнать, является ли приведенный выше действительный текст, и поскольку у нас есть два разных сочетания текста, они не срабатывают сразу.
if (Enum.IsDefined(typeof(TextType), VtextType))
Так как я переписать ниже IF условие в C#, так что я могу принять как «да» и «Баланс». Должен ли я изменить определение моего Enum или использовать «contains» или использовать regex? Я использую .Net4.5
Пожалуйста, помогите.
После Michaels ответ я могу перебрать строки массива как:
foreach (string s in Tokens)
{
Console.WriteLine(s);
}
Будет ли это работать?
Мы можем получить текст как «Да Баланс» или текст как «Да» или как «Баланс». Помогает ли это? – Ditty
Затем просто разделите текст на пробелы и посмотрите на термины в результирующем массиве строк. –
Так что я бы использовал что-то вроде myString.split (/ [\ s \ W] + /) – Ditty