如果我有一个绝对的DirectoryInfo路径和一个相对的FileInfo路径,我怎么能将它们组合成一个绝对的FileInfo路径?
例如:
var absoluteDir = new DirectoryInfo(@"c:\dir");
var relativeFile = new FileInfo(@"subdir\file");
var absoluteFile = new FileInfo(absoluteDir, relativeFile); //-> How to get this done?
Run Code Online (Sandbox Code Playgroud)
如果absoluteDir和relativeFile存在的唯一目的是用于创建absoluteFile,那么使用它应该坚持使用普通字符串并且只将absoluteFile保留为FileInfo.
var absoluteDir = @"c:\dir";
var relativeFile = @"subdir\file";
var absoluteFile = new FileInfo(Path.Combine(absoluteDir, relativeFile));
Run Code Online (Sandbox Code Playgroud)
如果不是你真的需要输入它们,那么你应该使用Path.Combine应用于每个的OriginalPath,例如:
var absoluteDir = new DirectoryInfo(@"c:\dir");
var relativeFile = new FileInfo(@"subdir\file");
var absoluteFile = new FileInfo(Path.Combine(absoluteDir.OriginalPath), relativeFile.OriginalPath));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6170 次 |
| 最近记录: |