获取文件扩展名C#

山姆·丹尼尔

我有一个带有文件名列表的下拉列表。在下拉列表中选择文件名时,请执行以下操作

string filename = ddl.SelectedItem.Text;
string path = "F:\\WorkingCopy\\files\\" + filename +".docx";
DownloadFile(path,filename);

在文件文件夹中,文件可以包含任何扩展名。由于我已经在字符串路径中对“ .docx”进行了硬编码,所以一切正常。但是我需要单独使用ddl.SelectedItem.Text获得文件名的扩展名。你能告诉我怎么做吗?

我有的东西1.)文件名中没有扩展名

string filename = ddl.SelectedItem.Text;

2.)文件所在的路径

string path = "F:\\WorkingCopy\\files\\" + filename 

我正在尝试使用这些文件扩展名。有人可以建议吗?

雷内·沃格特

您可以这样使用Directory.EnumerateFiles()

string path = "F:\\WorkingCopy\\files\\";
string filename = ddl.SelectedItem.Text;

string existingFile = Directory.EnumerateFiles(path, filename + ".*").FirstOrDefault();

if (!string.IsNullOrEmpty(existingFile))
    Console.WriteLine("Extension is: " + Path.GetExtension(existingFile));

Directory.EnumerateFiles搜索的path文件,例如filename.*Path.GetExtension()返回找到的文件的扩展名。


通常,我更喜欢使用EnumerateFiles()代替,GetFiles因为它返回一个IEnumerable<string>代替string[]这表明它仅根据需要返回匹配文件,而不是立即搜索所有匹配文件。(对于您的情况,这并不重要,只是一般性说明)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章