え、うちの書き方って古いの?
……うーんわかった、書き直しましょう。
特定ディレクトリ以下を全て吐き出すものだけど、以下は古いらしいわ。
private static List<string> getListDir(string dir) { List<string> r = new List<string>(); foreach (String f in Directory.GetFileSystemEntries(dir)) { if (File.GetAttributes(f) == FileAttributes.Directory) { r.AddRange(getListDir(f)); } else { r.Add(f); } } return (r); }
表現は色々あると思うけど、.NET3.5以上と考えると妥当なのはこのあたりかしら?
string basedir = System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop); DirectoryInfo di = new DirectoryInfo(basedir); FileInfo[] files = di.GetFiles("*",SearchOption.AllDirectories); foreach (FileInfo f in files) { Console.WriteLine("{0},",f.FullName); }
実行すると、デスクトップ上の何かを列挙するかも。