I was looking for a tree or graph data structure in C# but I guess there isn't one provided. http://msdn.microsoft.com/en-us/library/ms379574.aspx explains a bit about why. Is there a convenient library which is commonly used to provide this functionality? Perhaps through a strategy pattern to solve the issues presented in the article.
I feel a bit silly implementing my own tree, just as I would implementing my own ArrayList.
Edit:
I think I need to explain better what I'm looking for. I just want a generic tree which can be unbalanced. Think of a directory tree. C5 looks nifty, but their tree structures seem to be implemented as balanced red-black trees better suited to search than representing a hierarchy of nodes.