Page 9 : 36
Object-oriented Programming in C#
Collection Classes
* Collections - History and Overview
A historic View on Collection Programming
* Generic Collections in C#
Overview of Generic Collections in C#
The Interface
IEnumerable<T>
The Interface
ICollection<T>
The Interface
IList<T>
Overview of the class
Collection<T>
Sample use of class
Collection<T>
Specialization of Collections
Specialization of Collections - a realistic example
Overview of the class
List<T>
Sample use of class
List<T>
Sample use of the Find operations in
List<T>
Sample use of Sort in
List<T>
Sample use of BinarySearch in
List<T>
Overview of the class
LinkedList<T>
The class
LinkedListNode<T>
Sample use of class
LinkedList<T>
Time complexity overview: Collection classes
Using Collections through Interfaces
* Generic Dictionaries in C#
Dictionaries
Overview of Generic Dictionaries in C#
The interface
IDictionary<K,V>
Overview of the class
Dictionary<K,V>
Sample use of class
Dictionary<K,V>
Notes about Dictionary Classes
Time complexity overview: Dictionary classes
* Non-generic Collections in C#
The non-generic collection library in C#
Notes about non-generic Collections
* Patterns and Techniques
The Iterator Design Pattern
Making iterators with yield return
Iterator blocks and yield return
Sample use of class
Collection<T>
Similar program for
List<T>
Basic operations on a Collection of characters.
A C# 3.0 Program.
Output of the program with basic operations on a Collection of characters.
Lessons learned:
The indexer
lst[idx] = expr
mutates an existing element in the collection
The length of the collection is unchanged
The
Insert
operation splices a new element into the collection
Push subsequent elements towards the end of the collection
Makes the collection longer
The
Remove
and
RemoveAt
operations take elements out of the collections
Pull subsequent elements towards the beginning of the collection
Makes the collection shorter