BCS - 3 years ago 157
C# Question

# c# type to handle relative and absolute URI's and local file paths

I have a use cases where I will be dealing with both local file paths (e.g.

c:\foo\bar.txt
) and URI's (e.g.
http://somehost.com/fiz/baz
). I also will be dealing with both relative and absolute paths so I need functionality like
Path.Combine
and friends.

Is there an existing C# type I should use? The Uri type might work but at a passing glance, it seems to be URI only.

Using the Uri class, it seems to be working. It turns any file path to the file:///..." syntax in the Uri. It handles any URI as expected, and it has capacity to deal with relative URIs. It depends on what else you are trying to do with that path.

(Updated to show the use of relative Uri's):

string fileName = @"c:\temp\myfile.bmp";
string relativeFile = @".\woohoo\temp.bmp";

Uri uriFile = new Uri(fileName);
Uri uriRelative = new Uri(uriFile, relativeFile);

file:///c:/temp/myfile.bmp
`