M.k*_*ary 6 c# path openfiledialog
当我使用OpenFileDialog
“打开文件”时,当然我需要获取文件目录及其名称来加载文件。(要加载xml,要访问文件,我需要完整路径。)
opd
是打开文件对话框
if (opd.ShowDialog() == true)
{
var names = opd.FileNames;
foreach (string name in names)
{
LoadFile(Path.Combine(Path.GetDirectoryName(name), name));
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如何Path.GetDirectoryName
通过仅获取字符串来获取文件的路径?
Path.GetDirectoryName(name)
Run Code Online (Sandbox Code Playgroud)
name
是 Juststring
并且此方法仅通过字符串获取其目录?。计算机内可能有数千个同名文件。
简短问题:在哪里opd
引用?
编辑:
我认为opd.FileNames
只需要文件名。(因为方法名称)
我还发现了一些有趣的事情。
LoadFile(Path.Combine(Path.GetDirectoryName(name), name));
Run Code Online (Sandbox Code Playgroud)
这工作正常,因为Path.Combine
只会跳过字符串的相同部分。
前任:
string name = @"C:\Users\Default\xml.xml";
string getDirNameResault= Path.GetDirectoryName(name);// this will be C:\Users\Default
Run Code Online (Sandbox Code Playgroud)
所以 Path.Combine 将是
Path.Combine(@"C:\Users\Default", @"C:\Users\Default\xml.xml)
Run Code Online (Sandbox Code Playgroud)
女巫归来"C:\Users\Default\xml.xml"
!
name 是 Just string 并且此方法仅通过字符串获取其目录?。计算机内可能有数千个同名文件。
name
包含完整路径,Path.GetDirectoryName()
只是删除最后一个目录分隔符之后的所有内容,Path.Combine(Path.GetDirectoryName(name), name)
不会做任何有用的事情:
如果 path2 包含根,则返回 path2。
直接使用就可以了name
。
归档时间: |
|
查看次数: |
23397 次 |
最近记录: |