5

ReSharperSystem.NullReferenceExceptionは、次のコードの可能性について通知します。

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

具体的には、次のことを強調しています。

edgeEnumerator.Current

どのような状況で例外が発生するかわかりません。私の理解では、while-loops 内部ステートメントはMoveNext()、次の要素に列挙子を設定できる場合にのみ実行されます。

4

1 に答える 1

6

次の要素は実際には null である可能性があります。たとえば、次のコード:

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

各要素の列挙子は引き続き提供されますが、要素自体は null です。

于 2011-05-10T14:35:48.217 に答える