当前位置 : 主页 > 编程语言 > c语言 >

vb.net – 每个循环都没有集合 – 如何处理它?

来源:互联网 收集:自由互联 发布时间:2021-06-24
当集合什么都没有时我如何处理每个循环,我认为它会跳过但我得到一个例外? 我是否需要将foreach循环包装在if中以检查什么,只有当它不是什么都没有时,然后输入for each循环? For Each
当集合什么都没有时我如何处理每个循环,我认为它会跳过但我得到一个例外?

我是否需要将foreach循环包装在if中以检查什么,只有当它不是什么都没有时,然后输入for each循环?

For Each item As String In MyStringList 

    'do something with each item but something myStringList will be nothing?


Next

Do I need to wrap the foreach loop in a if to check for nothing and only if it is not nothing then enter in the for each loop?

是.

If MyStringList IsNot Nothing Then
    For Each item As String In MyStringList 
       'do something ...
    Next
End If

Microsoft说这是设计:

I think that most foreach loops are written with the intent of iterating a non-null collection. If you try iterating through null you should get your exception, so that you can fix your code. Foreach is basically a syntactic convenience. As such, it should not be “magical” and do unexpected things under the hood. I agree with the post that proposed the use of empty collections rather than null. (They can typically be reused quite a bit using singleton techniques).

网友评论