正确,错误,无关紧要

时间:2018-09-12 01:28:53

标签: c# boolean logic boolean-logic

我想问一下验证逻辑的一些正确做法。 关于有效输入的任何建议,可能是必需的,不需要的或无关紧要的。

情况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,但是我不确定这是否是唯一的方法。 谢谢大家!

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找这样的东西:

bool? mandatory = null;  // true, false or null for "I don't care"
if(mandatory.HasValue && string.IsNullOrEmpty(x) == mandatory.Value)
{
   //Error
}