Krishna Veni Ответов: 1

Как правильно обрабатывать значения NULL в regx.выполняется


как правильно обрабатывать значения NULL в regx.выполняется

System.Text.RegularExpressions.Regex.IsMatch(business.Cuisine,"chicken", System.Text.RegularExpressions.RegexOptions.IgnoreCase)


если на входе нуль, как с этим справиться regx.выполняется

пожалуйста, помогите мне.
Спасибо тебе.

Что я уже пробовал:

System.Text.RegularExpressions.Regex.IsMatch(business.Cuisine,"chicken", System.Text.RegularExpressions.RegexOptions.IgnoreCase)


если на входе нуль, как с этим справиться regx.выполняется

Patrice T

Что вам нужно сделать с этим нулевым входом ?

Krishna Veni

Для предположим business.cuisine==null.cuisine доступ из db.at время получить систему.ArgumentNullException произошло

1 Ответов

Рейтинг:
2

OriginalGriff

Проверять null прежде чем вы попытаетесь выполнить регулярное выражение, точно так же, как вы делаете это для всех других мест, где возможно значение null. В некоторых случаях, если вы используете достаточно новую версию C#, вы можете использовать безопасный навигационный оператор "?.": Наконец, C# получает “?.”, иногда называемый оператором безопасной навигации – Джерри Никсоном[^] Но вы не можете здесь, потому что IsMatch не любит нулевые аргументы. Вместо этого используйте нулевой коалесцирующий оператор '??'

Regex.IsMatch(business.Cuisine ?? "","chicken", RegexOptions.IgnoreCase)
Или даже:
Regex.IsMatch(business?.Cuisine ?? "","chicken", RegexOptions.IgnoreCase)