GetFiles
のメソッドの文書化されていない動作に遭遇しましたSystem.IO.Directory
。
searchPattern
メソッドに渡されるパラメーターに、またはなどの予約済みのWindowsデバイス名が含まれている場合は常に、メソッドは、またはなどの"nul.*"
存在し"aux.bmp"
ないファイルの名前を含む配列を返します。C:\Users\ft1\nul
D:\aux
それらのデバイス名には、「。」のようなそのコンテキストに特別な意味があるのだろうか。または「..」、またはこれが単なるバグの一種である場合。とにかく、それはまだかなり奇妙に思えます。たとえば、C#の次のコードスニペット:
string[] fileNames = Directory.GetFiles(@"C:\D:\..\..\...\", "con.txt");
foreach (string fileName in fileNames) Console.WriteLine(fileName);
プリント
C:\D:\..\..\...\con
手がかりはありますか?