获取文件扩展名而不在路径中提供扩展名

是否可以获取文件的扩展名,但是当您指定扩展名以外的整个路径时? 例如:

C:\用户\管理\图片\ BlueHillsTest

谢谢

Directory.GetFiles允许您为要搜索的文件指定通配符:

 System.IO.Directory.GetFiles(@"C:\temp\py\", "test.*") 

对我来说,返回一个包含3个匹配项的数组。 我期待一个数组,因为该目录包含test.covertest.pytest.pyc

如果我使用First扩展方法:

 System.IO.Directory.GetFiles(@"C:\temp\py\", "test.*").First() 

然后它只返回第一个结果( test.cover )。

但是,使用Single扩展方法:

 System.IO.Directory.GetFiles(@"C:\temp\py\", "test.*").Single() 

引发InvalidOperationException因为“Sequence包含多个元素”(这可能是您想要的,具体取决于您的具体情况)。

但是,如果我尝试

 System.IO.Directory.GetFiles(@"C:\temp\py\", "step.*").Single() 

然后我得到step.py (没有exception引发)因为那是该目录中唯一匹配step.*的文件。

不,这是不可能的,因为你可能在这个位置同时拥有BlueHillsTest.xxxBlueHillsTest.yyy 。 在这种情况下,您希望返回哪一个?