System.IO.Path.Combineメソッドはドライブレター直後にセパレータを付加しません。
Path.Combine メソッド (System.IO)
複数の文字列を 1 つのパスに結合します。 ...
つまり、次のコードは、
System.IO.Path.Combine(@"c:", "hoge");
以下を返します。
c:hoge
検証
検証してみましょう。
using System.IO; using NUnit.Framework; namespace Testing { [TestFixture] public class PathTest { [Test] public void ドライブレターの直後にセパレーターなし() { string path = Path.Combine("c:", "hoge"); Assert.AreEqual("c:hoge", path); } [Test] public void ドライブレターの直後にセパレーターを付加() { string path = Path.Combine(@"c:\", "hoge"); Assert.AreEqual(@"c:\hoge", path); } } }
自分でセパレーターを付加しないといけないということですね。