簡體   English   中英

ReSharper:Enumerator可能出現NullReferenceException?

[英]ReSharper: Possible NullReferenceException with Enumerator?

ReSharper通知我有關以下代碼的可能的System.NullReferenceException

 IEnumerator<IEdgeData> edgeEnumerator = edgeData.GetEnumerator();
 while (edgeEnumerator.MoveNext())
 {
    ConvId fromConvId = edgeEnumerator.Current.From;
    ...
 }

具體來說,它強調:

edgeEnumerator.Current

我無法弄清楚異常可能發生在哪種情況下。 我的理解是while -loops內部語句只有在MoveNext()可以在下一個元素上設置枚舉器時才會執行。

下一個元素實際上可以為null。 例如,以下代碼:

new List<SampleClass> { null, null, null }

仍會為每個元素提供一個枚舉器,但元素本身為null。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM