// // This file contains the C# code from Program 4.16 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_16.txt // public class LinkedList { protected Element head; protected Element tail; public object First { get { if (head == null) throw new ContainerEmptyException(); return head.datum; } } public object Last { get { if (tail == null) throw new ContainerEmptyException(); return tail.datum; } } // ... }