Path.Combine and the dot notation
.net, c#, combinations, directory, path
Solution
Use `Path.GetFullPath`
string path = Path.Combine(@"c:\alpha\beta", @"..\gamma");
Console.WriteLine(Path.GetFullPath(path));
or the `DirectoryInfo` class:
string path = Path.Combine(@"c:\alpha\beta", @"..\gamma");
DirectoryInfo info = new DirectoryInfo(path);
Console.WriteLine(info.FullName);
Both will output:
c:\alpha\gamma
Problem
I'm looking for something akin to `Path.Combine` method that will help me correctly combine absolute and relative paths. For example, I want ``` Path.Combine(@"c:\alpha\beta", @"..\gamma"); ``` to yield `c:\alpha\gamma` instead of `c:\alpha\..\gamma` as `Path.Combine` does. Is there any easy way of accomplishing this? Needless to say, I also want to period `.` path or multiple `..` paths (e.g., `..\..\`) to work correctly.