Help and Support

BUG: An InvalidOperationException exception may not be returned when you modify a collection in the .NET Framework

Article ID:905718
Last Review:December 3, 2007
Revision:1.4

SYMPTOMS

In the Microsoft .NET Framework, when you modify a collection by using a statement such as the foreach statement, an InvalidOperationException exception may not be returned as you expect. Instead, a null value may be returned.

Note The enumerator is still irrecoverably invalidated when this problem occurs.

Back to the top

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.

Back to the top

MORE INFORMATION

An enumerator remains valid as long as the collection remains unchanged. Changes to a collection that invalidate the enumerator are adding elements, modifying elements, and deleting elements. After you invalidate the enumerator, the next call to the MoveNext method or to the Reset method should return an InvalidOperationException exception. However, the next call to the MoveNext method or to the Reset method does not always return an InvalidOperationException exception.

If you modify the collection between calling the MoveNext method and calling the Get function on the Current property, the Get function returns the element that the Current property is set to. The Get function returns this Current property even if the enumerator is already invalidated.

Back to the top

REFERENCES

For more information about how to enumerate a collection, visit the following Microsoft Developer Network (MSDN) Web site:
http://msdn2.microsoft.com/en-us/library/hwyysy67(vs.71).aspx (http://msdn2.microsoft.com/en-us/library/hwyysy67(vs.71).aspx)
For more information about the IEnumerator interface, visit the following MSDN Web site:
http://msdn2.microsoft.com/en-us/library/system.collections.ienumerator(vs.71).aspx (http://msdn2.microsoft.com/en-us/library/system.collections.ienumerator(vs.71).aspx)

Back to the top


APPLIES TO
Microsoft .NET Framework 2.0
Microsoft .NET Framework 1.1
Microsoft .NET Framework 1.0

Back to the top

Keywords: 
kbtshoot kbbug kbnofix kbwindowsforms KB905718

Back to the top

Article Translations

 

Other Support Options

  • Need More Help?
    Contact a Support professional by Email, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.