Wenn Sie beide Pfade kombinieren möchten, ohne einen Pfad zu verlieren, können Sie dies verwenden:
?Path.Combine(@"C:\test", @"\test".Substring(0, 1) == @"\" ? @"\test".Substring(1, @"\test".Length - 1) : @"\test");
Oder mit Variablen:
string Path1 = @"C:\Test";
string Path2 = @"\test";
string FullPath = Path.Combine(Path1, Path2.IsRooted() ? Path2.Substring(1, Path2.Length - 1) : Path2);
In beiden Fällen wird " C:\test\test ".
Zuerst prüfe ich, ob Path2 mit / beginnt, und wenn dies der Fall ist, gebe ich Path2 ohne das erste Zeichen zurück. Andernfalls wird der vollständige Pfad2 zurückgegeben.