Я хотел бы спросить о некоторых правильных методах логики проверки. Любые предложения по действительному вводу, которые могут потребоваться, не обязательны или не нужны.
Случай 1: требуется текстовое поле.
bool required = true;
if (!String.IsNullOrEmpty("123") != required)
{
//Error
}
Случай 2: текстовое поле не требуется.
bool required = false;
if (!String.IsNullOrEmpty("123") != required)
{
//Error
}
Случай 3: текстовое поле необязательно
Я хочу использовать одну общую функцию для проверки.
//this flag will change based on different input fields
bool required = true;
if (required != null && (!String.IsNullOrEmpty(input) != required))
{
//Error
}
Я думал о null, но не уверен, что это единственный способ сделать это. Спасибо всем!
разве вы не ищете if (validate &&! string.IsNullOrEmpty ()) - это гарантирует, что если validate false, он не выдаст ошибку, иначе, если это правда, он проверит, является ли значение null или пустым, а затем выдаст ошибку?
Плевать было бы не проверять
Если вам нужно логическое значение с тремя состояниями, используйте bool?. Если это не то, что вам нужно, вам нужно поработать над своим вопросом. Это невероятно непонятно.
жаль всех. Я обновил свой вопрос. Надеюсь, это более ясно.





Думаю, вы ищете что-то вроде этого:
bool? mandatory = null; // true, false or null for "I don't care"
if (mandatory.HasValue && string.IsNullOrEmpty(x) == mandatory.Value)
{
//Error
}
Если вы проголосовали против моего теперь удаленного ответа, я рекомендую посмотреть состояние вопроса в тот момент, когда я ответил на него, а не когда вы пришли к вопросу. В любом случае, исходя из вопроса в его текущем состоянии, кажется, что ваш ответ, скорее всего, правильный, так что +1.
Мне непонятно, о чем вы спрашиваете