Jon*_*eet 138
你绝对可以检查一个空数组的长度.但是,如果您尝试在空引用上执行此操作,您将获得异常.我怀疑那是你遇到的.你可以应对这两个:
if (array == null || array.Length == 0)
Run Code Online (Sandbox Code Playgroud)
如果这不是原因,请提供一个简短但完整的程序来证明问题.如果这是原因,那么值得花一点时间来确保你理解空引用与"空"集合/字符串/等等.
kem*_*002 13
是的,为了安全起见,我可能会这样做:
if(array == null || array.Length == 0)
Run Code Online (Sandbox Code Playgroud)
您可以使用
if (array == null || array.Length == 0)
Run Code Online (Sandbox Code Playgroud)
要么
if (!(array != null && array.Length >= 0))
Run Code Online (Sandbox Code Playgroud)
注意!!!!!确保c#正确实现短路; 在转到对象的子比较之前,必须将对象与NULL进行比较.
C#7.0及以上
if(!array?.Length >= 0)
Run Code Online (Sandbox Code Playgroud)
小智 5
由于 .Net >= 5.0 ,最好的方法是使用Any:
if(!array.Any()) {
//now you sure it's empty
}
Run Code Online (Sandbox Code Playgroud)
对于可为空的数组:
if(!(array?.Any() == true)) {
//now you sure it's null or empty
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
102913 次 |
| 最近记录: |