Nullable Generics - Implementing SequentialSearchST in C#
Consider removing the requirement that default(TValue) is null, and instead of returning null, throw a KeyNotFoundException:


  The exception that is thrown when the key specified for accessing an element in a collection does not match any key in the collection.


For convenience, you may also want to provide a bool TryGetValue(TKey key, out TValue value) method.

If possible, making SequentialSearchSt&lt;TKey, TValue&gt; implement IDictionary&lt;TKey, TValue&gt; will make using the class easier for any .NET developer.