简体   繁体   中英

ReSharper: Possible NullReferenceException with Enumerator?

ReSharper notifies me about a possible System.NullReferenceException for the following code:

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

Specifically, it underlines:

edgeEnumerator.Current

I cannot figure out under which circumstances the exception could occur. My understanding is that the while -loops inner statements will only be executed if MoveNext() can set the enumerator on the next element.

The next element could actually be null. For example, the following code:

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

will still give you an enumerator for each element, but the element itself is null.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM