// // This file contains the C# code from Program 4.5 of // "Data Structures and Algorithms // with Object-Oriented Design Patterns in C#" // by Bruno R. Preiss. // // Copyright (c) 2001--2002 by Bruno R. Preiss, P.Eng. All rights reserved. // // http://www.brpreiss.com/books/opus6/programs/pgm04_05.txt // public class DynamicArray { protected object[] data; protected int baseIndex; public object[] Data { get { return data; } } public int BaseIndex { get { return baseIndex; } set { this.baseIndex = baseIndex; } } public int Length { get { return data.Length; } set { if (data.Length != value) { object[] newData = new object[value]; int min = data.Length < value ? data.Length : value; for (int i = 0; i < min; ++i) newData[i] = data[i]; data = newData; } } } // ... }