2010-06-16 202 views

回答

13

Directory.GetFiles將允許你指定一個通配符文件中搜索:

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

對我來說,返回的3個匹配項目的數組。 I 期望數組,因爲該目錄包含test.cover,test.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

但如果我嘗試

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

然後我得到的只是step.py(凸起也不例外),因爲這是在該目錄中匹配step.*的唯一文件。

2

不,這是不可能的,因爲你可能在這個位置既BlueHillsTest.xxxBlueHillsTest.yyy。在這種情況下你希望返回哪一個?

+0

可能會返回所有擴展的數組。 – chriszero 2010-06-16 16:33:46