tags:

views:

114

answers:

4

I am making a command line utility. I need to pass around a few file paths in the program.

Right now I am just using string. But I was wondering if the .net library had a cool class for passing around file paths.

+6  A: 

Well, there's FileInfo - that's about as close as you get.

Jon Skeet
I used FileInfo in some previous projects, it's really nice, if you just want to read a file, use a string, If you want to manage files, folders and do some actions with them, use FileInfo
Nealv
+3  A: 

Strings are the best way to store paths.

If you need to modify or work with the path, though, you should use System.IO.Path.

If you want something that is a little more robust and can actually interact with files/directories you could also check out FileInfo and DirectoryInfo. Keep in mind, though, that both of these are awfully heavy if you just need to store the path.

Justin Niessner
Are they heavy? What's the overhead?
Tim Robinson
The overhead is that instead of a simple string, you have a big ol' object with a number of member fields that take up memory. There is also the cost of object creation. The constructor, especially, includes a number of expensive calls, some of which call outside of the .NET framework and might even result in disk I/O.
siride
A: 

DirectoryInfo objects can hold filepaths and any relevant information about the directory, FileInfo can hold information and path of individual files as well.

Jesus Ramos
+3  A: 

The Base Class Library represents paths as strings but there are open source alternatives. NDepend.Helpers.FileDirectoryPath is a open source library for manipulating paths in a strongly typed way.

hwiechers