当集合什么都没有时我如何处理每个循环,我认为它会跳过但我得到一个例外?
我是否需要将foreach循环包装在if中以检查什么,只有当它不是什么都没有时,然后输入for each循环?
For Each item As String In MyStringList
'do something with each item but something myStringList will be nothing?
Next
Run Code Online (Sandbox Code Playgroud)
我是否需要将foreach循环包装在if中以检查什么,只有当它不是什么都没有时,然后输入for each循环?
是.
If MyStringList IsNot Nothing Then
For Each item As String In MyStringList
'do something ...
Next
End If
Run Code Online (Sandbox Code Playgroud)
微软称它是按设计的:
我认为大多数foreach循环都是为了迭代非null集合而编写的.如果你尝试迭代null,你应该得到你的异常,以便你可以修复你的代码.Foreach基本上是一种语法上的便利.因此,它不应该是"神奇的",并在引擎盖下做出意想不到的事情.我同意提议使用空集合而非null的帖子.(它们通常可以使用单例技术重复使用).
| 归档时间: |
|
| 查看次数: |
5042 次 |
| 最近记录: |