Why Path.Combine doesn't add the Path.DirectorySeparatorChar after the drive designator?

.net, path, path-combine

Solution

`C:filename` is a valid path and is different from `C:\filename`. `C:filename` is the file `filename` in the current directory on the `C:` drive whereas `C:\filename` is the file `filename` in the root of that drive. Apparently they wanted to keep the functionality of refering to the current directory on some drive.

This behaviour is described here in MSDN

Problem

``` var actual = Path.Combine("c:", "filename"); var expected = @"c:\filename"; Assert.AreEqual(expected, actual); ``` Result ``` {Assert.AreEqual failed. Expected:<c:\filename>. Actual:<c:filename>. ``` Why?

Original source