'Path.Combine'问题

时间:2011-04-21 03:31:28

标签: c# winforms

考虑:

private void cmdOpenPDF_DoubleClick(object sender, EventArgs e)
{
    string path1 = @"Z:\Google Docs\Documents";
    string path2 = docIDTextBox.Text;
    string path3 = ".pdf";
    Path.Combine(path1,path2,path3);
    System.Diagnostics.Process.Start(Path.Combine(path1, path2, path3));
}

我正在尝试使用上面的代码打开Z:驱动器上的PDF文件,这是一个虚拟驱动器。

当我尝试这个时,我得到以下内容:

  

win32异常未得到处理:

     

系统无法找到该文件   指定的

我不知道这意味着什么或我的代码有什么问题= /。路径有效,我可以在不使用文本框的情况下打开它。

4 个答案:

答案 0 :(得分:15)

Path.Combine用于将多个文件夹合并为一条路径 因此,您的代码会创建路径Z:\Google Docs\Documents\something\.pdf,这不是您想要的。

您应该通过调用Path.ChangeExtension(如果要从文本框中删除任何扩展名)或简单地连接字符串来添加扩展名。

答案 1 :(得分:6)

如果path2只是没有扩展名的文件名,您可以使用:

Path.Combine(path1, path2 + path3)

答案 2 :(得分:0)

检查 Path.Combine - Be aware of a Slash in the Second Parameter 并正确初始化您的三个变量。 Path.Combine仍然适合你,虽然它不是你最好的选择。

答案 3 :(得分:-1)

尝试以下操作:

Path.Combine(path1, "\\", path2, path3);