11

我是否Path.Combine错误地使用了该方法?
我得到这个结果Path.Combine(string[])

C:Users\\Admin\\AppData\\Roaming\\TestProject\\Connections.xml

这是不太理想的代码的理想结果:注释掉的代码生成的结果):

C:\\Users\\Admin\\AppData\\Roaming\\TestProject\\Connections.xml

\\请注意第一个路径中驱动器号后面的缺失。

旧方法(手动添加反斜杠,注释掉)效果很好,但我很确定如果用 mono 编译它在 Linux 或其他东西下不会工作。

string[] TempSave = Application.UserAppDataPath.Split(Path.DirectorySeparatorChar);
string[] DesiredPath = new string[TempSave.Length - 2];
for (int i = 0; i < TempSave.Length - 2; i++)
{
    //SaveLocation += TempSave[i] + "\\";//This Works
    DesiredPath[i] = TempSave[i];
}
SaveLocation = Path.Combine(DesiredPath);//This Doesn't Work.    
ConnectionsFs = new FileStream(Path.Combine(SaveLocation,FileName)/*SaveLocation+FileName*/, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.Read);

基本上,我希望最终结果是TestProject目录,而不是项目本身或其版本。

4

0 回答 0