Path.Combine (合并两个路径字符串)方法的一些使用细节

今天遇到一个奇怪的现象,使用Path.Combine合并两个路径,结果返回的是第二个参数的路径,上网搜索过了下,才明白此函数的使用方法,记录如下

System.IO.Path.Combine 简单来说,就是合并两个路径字符串。 比如如下调用,Path.Combine(@"C:\11","aa.txt") 返回的字符串路径如后: C:\11\aa.txt

这个方法的声明如下: public static string Combine ( string path1, string path2 )

我们在合并一些目录的时候,它的两个参数有些特殊限制,下面我们就来依次看这些特殊限制

  1. 如果其中一个参数为 null ,会抛出异常: An unhandled exception of type 'System.ArgumentNullException' occurred in mscorlib.dll Additional information: Value cannot be null.

  2. 如果指定的路径之一是零长度字符串,则该方法返回其他路径。当然,两个都是零长度字符串,则返回的就是 string.Empty ;

  3. 如果 path2 包含绝对路径,则该方法返回 path2。 比如:string tmp = Path.Combine(@"C:\11", @"D:\aa.txt"); tmp 就等于 @"D:\aa.txt"

  4. path2 不能以 \ 和 / 开头的字符串, 如果是这个字符串开头的,则返回 path2 。

原文地址

标签: none