//
using System.Runtime.InteropServices;
+using System.Diagnostics;
namespace System.Collections
{
-#if NET_2_0
- [ComVisible(true)]
-#endif
[Serializable]
#if INSIDE_CORLIB
- public
+ [ComVisible(true)]
+ [DebuggerDisplay ("Count={Count}")]
+ [DebuggerTypeProxy (typeof (CollectionDebuggerView))]
+ public class ArrayList : IList, ICloneable, ICollection, IEnumerable {
#else
- internal
+ internal class ArrayList : IList {
#endif
- class ArrayList
- : IList, ICloneable, ICollection, IEnumerable
- {
#region Enumerator
private sealed class ArrayListEnumerator
: IEnumerator, ICloneable
{
+ private object m_Current;
+ private ArrayList m_List;
private int m_Pos;
private int m_Index;
private int m_Count;
- private object m_Current;
- private ArrayList m_List;
private int m_ExpectedStateChanges;
public ArrayListEnumerator(ArrayList list)
sealed class SimpleEnumerator : IEnumerator, ICloneable
{
ArrayList list;
+ object currentElement;
int index;
int version;
- object currentElement;
static object endFlag = new object ();
public SimpleEnumerator (ArrayList list)
#region Fields
-#if NET_2_0
private const int DefaultInitialCapacity = 4;
-#else
- private const int DefaultInitialCapacity = 16;
-#endif
-
- /// <summary>
- /// Number of items in the list.
- /// </summary>
- private int _size;
/// <summary>
/// Array to store the items.
/// </summary>
private object[] _items;
-
+
+ /// <summary>
+ /// Number of items in the list.
+ /// </summary>
+ private int _size;
+
/// <summary>
/// Total number of state changes.
/// </summary>
private int _version;
-
+
private static readonly object [] EmptyArray = new object [0];
#endregion
/// </summary>
public ArrayList()
{
-#if NET_2_0
_items = EmptyArray;
-#else
- _items = new object[DefaultInitialCapacity];
-#endif
}
/// <summary>