You might also want to consider a dynamically-sized container of some sort, rather than an array. Fixed-sized allocations aren't the best structure for this sort of thing. I'm not sure, but it's quite possible there's already a .NET class designed for storing directory trees; there's also things like the
TreeView control which you can populate with the results, depending on how you want to display things. Personally, I like having a hierarchical view in file managers; it's why I replaced the stock one on my PocketPC with a third-party one.