2010-06-16 14 views

risposta

13

Directory.GetFiles vi permetterà di specificare un carattere jolly per i file per la ricerca:

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

per me, restituisce un array di 3 elementi. I prevede un array, poiché la directory contiene test.cover, test.py e test.pyc.

Se uso il metodo First estensione:

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

allora restituisce solo il primo risultato (test.cover).

Tuttavia, utilizzando il metodo Single estensione:

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

solleva un InvalidOperationException perché la "sequenza contiene più di un elemento" (che potrebbe essere ciò che si vuole, a seconda delle circostanze).

Ma se provo

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

tanto sono solo step.py (senza eccezione sollevata) perché questo è l'unico file corrispondenti step.* in quella directory.

2

No, non è possibile, come si potrebbe avere sia BlueHillsTest.xxx e BlueHillsTest.yyy in questa posizione. Quale ti aspetti di tornare in questo caso?

+0

potrebbe restituire un array di tutte le estensioni. – chriszero

Problemi correlati