结合了的DirectoryInfo和FileInfo的路径 [英] Combining a DirectoryInfo and a FileInfo path

查看:102
本文介绍了结合了的DirectoryInfo和FileInfo的路径的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我有绝对的的DirectoryInfo 的路径和一个相对的的FileInfo 的路径,我怎样才能将它们组合成一个绝对的的FileInfo 的路径?

例如:

  VAR absoluteDir =新的DirectoryInfo(@C:\目录);
VAR relativeFile =新的FileInfo(@子目录\文件);
VAR absoluteFile =新的FileInfo(absoluteDir,relativeFile); //  - >如何完成这件事?
 

解决方案

如果absoluteDir和relativeFile存在被用于创建absoluteFile的唯一目的,使用时应可能与普通字符串他们只留下absoluteFile作为一个FileInfo坚持。

  VAR absoluteDir = @C:\目录;
VAR relativeFile = @子目录\文件;
VAR absoluteFile =新的FileInfo(Path.Combine(absoluteDir,relativeFile));
 

如果不然你真的需要他们打字,那么你应该使用Path.Combine适用于每个人的OriginalPath,如:

  VAR absoluteDir =新的DirectoryInfo(@C:\目录);
VAR relativeFile =新的FileInfo(@子目录\文件);
VAR absoluteFile =新的FileInfo(Path.Combine(absoluteDir.OriginalPath),relativeFile.OriginalPath));
 

If I have an absolute DirectoryInfo path and a relative FileInfo path, how can I combine them into an absolute FileInfo path?

For example:

var absoluteDir = new DirectoryInfo(@"c:\dir");
var relativeFile = new FileInfo(@"subdir\file");
var absoluteFile = new FileInfo(absoluteDir, relativeFile); //-> How to get this done?

解决方案

If absoluteDir and relativeFile exist for the sole purpose of being used to create absoluteFile, use should probably stick with plain strings for them and leaving only absoluteFile as a FileInfo.

var absoluteDir = @"c:\dir"; 
var relativeFile = @"subdir\file"; 
var absoluteFile = new FileInfo(Path.Combine(absoluteDir, relativeFile)); 

If otherwise you really need them to be typed, then you should use Path.Combine applied to the OriginalPath of each of them, such as in:

var absoluteDir = new DirectoryInfo(@"c:\dir"); 
var relativeFile = new FileInfo(@"subdir\file"); 
var absoluteFile = new FileInfo(Path.Combine(absoluteDir.OriginalPath), relativeFile.OriginalPath)); 

这篇关于结合了的DirectoryInfo和FileInfo的路径的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆