C#, Sorting on insertion with a comparing function
===

I'm a long time C++ programmer, new to C#. Yes, I know that, "I'm X new to Y", is a common-place, roll your eyes opening statement, but bear with me, please.

I'm trying to sort data of a type T in a container by two of T's properties. It's potentially a lot of data, so I would much rather have the sorting happen on insertion. I've looked into both List and SortedList, but both don't quite provide the functionality I need.

Does C# provide a container that allows both sorting on insertion and sorting my a comparison function? I would like to avoid post insertion sorting like List.Sort, and avoid the overhead of using the data as both key and value for SortedList.

Thanks