日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時間:2023/12/10 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】Path.Combine (合并两个路径字符串)方法的一些使用细节 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

System.IO.Path.Combine 簡單來說,就是合并兩個路徑字符串。
比如下面這個調(diào)用,
Path.Combine(@“C:\11”,“aa.txt”)

返回的字符串路徑為:
C:\11\aa.txt

這個方法的聲明如下:
public static string Combine ( string path1, string path2 )

我們在合并一些目錄的時候,它的兩個參數(shù)有些特殊限制,下面我們就來依次看這些特殊限制

1、如果其中任意一個參數(shù)為 null ,會拋出異常:
An unhandled exception of type ‘System.ArgumentNullException’ occurred in mscorlib.dll
Additional information: Value cannot be null.

2、如果指定的路徑其中一個是零長度字符串,則該方法返回另一個路徑。當(dāng)然,兩個都是零長度字符串,則返回的就是 string.Empty ;

3、如果 path2 包含絕對路徑,則該方法直接返回 path2。
比如:
string tmp = Path.Combine(@“C:\11”, @“D:\aa.txt”); tmp =?@“D:\aa.txt”
string tmp = Path.Combine(@"C:\11",? ? @"\aa.txt"); tmp = @"\aa.txt"

4、 path2 不應(yīng)以 \ 和 / 開頭, 如果是這個兩個字符開頭的,則返回 path2 。
比如以下代碼:
string p1 = “C:\aa\”;
string p2 = “C:\aa”;

string p12 = “\p12”;
string p13 = “\p13\”;
string p15 = “/p13/”;

Console.WriteLine(Path.Combine(p1, p12));
Console.WriteLine(Path.Combine(p1, p13));
Console.WriteLine(Path.Combine(p1, p15));
Console.WriteLine(Path.Combine(p2, p12));
Console.WriteLine(Path.Combine(p2, p13));
Console.WriteLine(Path.Combine(p2, p15));
依次顯示的是:
\p12
\p13
/p13/
\p12
\p13
/p13/

該函數(shù)工作原理

如果 path1 不是一個驅(qū)動器引用(即不是"C:“或"D:”)而且不是以 DirectorySeparatorChar、AltDirectorySeparatorChar 或 VolumeSeparatorChar 中定義的有效分隔符結(jié)束,則在串聯(lián)前將 DirectorySeparatorChar 追加到 path1 中。

如果 path2 不包括根(例如,如果 path2 沒有以分隔符或驅(qū)動器規(guī)格起始),則結(jié)果是兩個路徑的串聯(lián),具有介于其間的分隔符。如果 path2 包括根,則返回 path2。

由于有空白時不進行參數(shù)分析,如果 path2 為" c:\ ",則將其追加到 path1,而不是僅返回 path2。

不是目錄和文件名的所有無效字符都被 Combine 方法解釋為不可接受的,因為您可以將這些字符用于搜索通配符。例如,盡管 Path.Combine(“c:\”, “*.txt”) 可能是無效的(如果您要根據(jù)它創(chuàng)建一個文件),但它作為搜索字符串是有效的。因此 Combine 方法成功解釋它。

Path.DirectorySeparatorChar 字段
提供平臺特定的字符,該字符用于在反映分層文件系統(tǒng)組織的路徑字符串中分隔目錄級別。
該字段的值在 Unix 上為斜杠("/"),在 Windows 和 Macintosh 操作系統(tǒng)上為反斜杠("")。

Path.AltDirectorySeparatorChar 字段
提供平臺特定的替換字符,該替換字符用于在反映分層文件系統(tǒng)組織的路徑字符串中分隔目錄級別。
該字段的值在 Unix 上為反斜杠(""),在 Windows 和 Macintosh 操作系統(tǒng)上為斜杠("/")。

Path.VolumeSeparatorChar 字段
提供平臺特定的卷分隔符。
該字段的值在 Windows 和 Macintosh 上為冒號(":"),在 Unix 操作系統(tǒng)上為斜杠("/")。

總結(jié)

以上是生活随笔為你收集整理的【转】Path.Combine (合并两个路径字符串)方法的一些使用细节的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。