是否有更好(更好)的方式来编写这个if语句?
if(string1 == null && string2 == null && string3 == null && string4 == null && string5 == null && string6 == null){...}
Run Code Online (Sandbox Code Playgroud)
Tim*_*ter 42
也许使用null-coalescing operator(??
):
if((string1 ?? string2 ?? string3 ?? string4 ?? string5 ?? string6) == null){ ;}
Run Code Online (Sandbox Code Playgroud)
如果所有字符串都在集合中,您可以使用Linq:
bool allNull = strings.All(s => s == null);
Run Code Online (Sandbox Code Playgroud)
juh*_*arr 15
您可以将所有字符串放在列表中并使用
if(listOfStrings.All(s=>s==null))
Run Code Online (Sandbox Code Playgroud)
至少你可以把它放在多行上
if(string1 == null
&& string2 == null
&& string3 == null
&& string4 == null
&& string5 == null
&& string6 == null)
{...}
Run Code Online (Sandbox Code Playgroud)
Mat*_*son 11
如果你做了这样的功能:
public static bool AllNull(params string[] strings)
{
return strings.All(s => s == null);
}
Run Code Online (Sandbox Code Playgroud)
然后你可以这样称呼它:
if (AllNull(string1, string2, string3, string4, string5, string6))
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
实际上,您可以更改AllNull()以使用任何引用类型,如下所示:
public static bool AllNull(params object[] objects)
{
return objects.All(s => s == null);
}
Run Code Online (Sandbox Code Playgroud)
string[] strs = new string[] { string1, string2, string3 };
if(strs.All(str => string.IsNullOrEmpty(str))
{
//Do Stuff
}
Run Code Online (Sandbox Code Playgroud)
或者,strs.All(str => str == null)
如果您不想检查空字符串,请使用。
归档时间: |
|
查看次数: |
17105 次 |
最近记录: |