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