2 回答

TA貢獻1874條經驗 獲得超12個贊
一般技術:
string MyPathCombine(string basename, string filename)
{
int idx = basename.Length;
if (idx == 0) return filename;
if (basename[idx - 1] == '/') --idx;
return filename;
}
IEnumerable<string> GetFilesSlash(string dirname)
=> Directory.GetFiles(dirname.Replace('/', Path.DirectorySeparatorCharacter)).Select((p) => MyPathCombine(dirname, Path.GetFileName(p));
如果你所有的路徑都來自真實系統,這種更簡單的形式會起作用,但如果有任何來自另一個系統,它就不會,因為你可能會被\角色毒化。然而,這并不是唯一的危險。從這里開始變得顛簸。
IEnumerable<string> GetFilesSlash(string dirname)
=> Directory.GetFiles(dirname.Replace('/', Path.DirectorySeparatorCharacter)).Select((p) => p.Replace(Path.DirectorySeparatorChar, '/'));
- 2 回答
- 0 關注
- 215 瀏覽
添加回答
舉報