C# 正在查找类似路径的内容。组合以导航文件夹

C# 正在查找类似路径的内容。组合以导航文件夹,c#,.net,file-io,C#,.net,File Io,我的一位同事正在System.IO中寻找一种方法来实现这一点: var path1 = "c:\\temp\\foo\\bar"; var path2 = "..\\..\\foo2\\file.txt"; var path3 = Path.Combine2(path1, path2); // path3 = "c:\\temp\\foo2\\file.txt" System.IO中是否有任何东西可以进行这种类型的组合,或者他必须编写自己的方法?我什么也找不到 谢谢 这应该可以做到 var

我的一位同事正在System.IO中寻找一种方法来实现这一点:

var path1 = "c:\\temp\\foo\\bar";
var path2 = "..\\..\\foo2\\file.txt";

var path3 = Path.Combine2(path1, path2);
// path3 = "c:\\temp\\foo2\\file.txt"
System.IO中是否有任何东西可以进行这种类型的组合,或者他必须编写自己的方法?我什么也找不到

谢谢

这应该可以做到

var path1 = "c:\\temp\\foo\\bar";
var path2 = "..\\..\\foo2\\file.txt";

var path3 = Path.GetFullPath(Path.Combine(path1, path2)).Normalize();
var path3 =  Path.GetFullPath(Path.Combine(path1, path2));

先告诉我:)Normalize()只是为了确保以后更容易分析字符串(即不包含正则表达式可能遗漏的未规范化反斜杠),还是它有任何其他函数?谢谢,这是我认为他必须做的。我将为他用一个实用方法来包装它。
Normalize()
用于unicode字符串,它有助于确保可以比较它们。实际上,我把它当作一种习惯,
Path.GetFullPath
在这里完成这项工作。