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 )
我们在合并一些目录的时候,它的两个参数有些特殊限制,下面我们就来依次看这些特殊限制
-
如果其中一个参数为 null ,会抛出异常: An unhandled exception of type 'System.ArgumentNullException' occurred in mscorlib.dll Additional information: Value cannot be null.
-
如果指定的路径之一是零长度字符串,则该方法返回其他路径。当然,两个都是零长度字符串,则返回的就是 string.Empty ;
-
如果 path2 包含绝对路径,则该方法返回 path2。 比如:string tmp = Path.Combine(@"C:\11", @"D:\aa.txt"); tmp 就等于 @"D:\aa.txt"
- path2 不能以 \ 和 / 开头的字符串, 如果是这个字符串开头的,则返回 path2 。