如何将大IF条件转换为小条件

sai*_*ani 1 c#

我必须以简短而智能的方式实现一个非常大的If和else语句.

例如 :

If(seg.status =="hl"||seg.status =="hl2"||seg.status =="hl3"||seg.status =="hl4"||seg.status =="hl4"||seg.status =="hl5"||seg.status =="hl6"||seg.status =="hl7")
Run Code Online (Sandbox Code Playgroud)

进入小而聪明的方式

Son*_*nül 5

如何将您的所有hl字符串在List<string>与检查AnyContains等;

var list = new List<string>(){"hl", "hl1", "hl2", ...};
if(!list.Any(seg.status.Contains))
Run Code Online (Sandbox Code Playgroud)

正如乔恩警告的那样,true如果您的字符串与状态不匹配,则会返回,选择

if(list.Contains(seg.status))
Run Code Online (Sandbox Code Playgroud)

代替.

  • 这是编写`if(list.Contains(seg.status))`的一种奇怪的方式(事实上,它现在还没有完全写出来的东西......你的条件会匹配"boringstuffhlotherboringstuff"的状态而原始条件不会. (4认同)