2010-06-16 18 views

Antwort

13

Directory.GetFiles ermöglicht es Ihnen, einen Platzhalter angeben, nach Dateien suchen nach:

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

für mich, gibt ein Array von 3 Übereinstimmungen ergeben. I erwartet ein Array, da das Verzeichnis test.cover, test.py und test.pyc enthält.

Wenn ich die First Erweiterungsmethode:

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

dann nur es gibt das erste Ergebnis (test.cover).

jedoch mit der Single Erweiterungsmethode:

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

wirft ein InvalidOperationException, weil die „Sequenz mehr als ein Element enthält“ (was sein könnte, was Sie wollen, je nach Ihren persönlichen Umständen).

Aber wenn ich

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

versuchen dann bekomme ich nur step.py (keine Ausnahme ausgelöst), weil das die einzige Datei ist step.* in diesem Verzeichnis entspricht.

2

Nein, es ist nicht möglich, da Sie beide BlueHillsTest.xxx und BlueHillsTest.yyy in diesem Ort haben könnten. Welche erwarten Sie in diesem Fall?

+0

möglicherweise ein Array aller Erweiterungen zurückgeben. – chriszero

Verwandte Themen