<p>From the <em>Immediate Window</em> in Visual Studio: </p>

<pre><code>&gt; Path.Combine(@"C:\x", "y")
"C:\\x\\y"
&gt; Path.Combine(@"C:\x", @"\y")
"\\y"
</code></pre>

<p>It seems that they should both be the same.  </p>

<p>The old FileSystemObject.BuildPath() didn't work this way...</p>

Not knowing the actual details, my guess is that it makes an attempt to join like you might join relative URIs. For example:
```
```
urljoin('/some/abs/path', '../other') = '/some/abs/other'
```
```
This means that when you join a path with a preceding slash, you are actually joining one base to another, in which case the second gets precedence.