Wednesday, June 08, 2005 5:56 PM
pgolde
More methods in CollectionBase, ListBase, etc
I did a review on CollectionBase, ListBase, DictionaryBase (and their read-only equivalents), and realized that a lot of the delegate-based methods that were added to List<T> really made sense on these classes. If you used these classes as bases to create your own collections, you now get a bunch more functionality “for free”.
I decided that it was best to use the exact same names that Microsoft used, even though I don't think that are the best possible names. This should easy the learning curve and make things more consistent for the user.
Doing this also allow removal of a lot of equivalent methods from the specific collection classes like Set, Bag, etc.
The new methods added are:
CollectionBase.AsReadOnly
CollectionBase.Exists
CollectionBase.TrueForAll
CollectionBase.FindAll
CollectionBase.RemoveAll
CollectionBase.ForEach
CollectionBase.ConvertAll
CollectionBase.CountWhere
DictionaryBase.AsReadOnly
ListBase.AsReadOnly
ListBase.CopyTo
ListBase.FindFirst
ListBase.FindLast
ListBase.TryFindFirst
ListBase.TryFindLast
ListBase.FindAll
ListBase.FindIndex
ListBase.FindLastIndex
ListBase.IndexOf
ListBase.LastIndexOf
(and read-only equivalents, where applicable).