C#によるディレクトリ再帰呼び出し

未だに習得できないSchemeじゃないけど、再帰という行為は面白いから好きですね。これぞ計算機という感じで。

using System;
using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;

namespace saiki
{
	class MainClass
	{
		private static void listDir(string dir){
			foreach(String f in Directory.GetFileSystemEntries(dir)){
				if (File.GetAttributes(f) == FileAttributes.Directory) {
					Console.WriteLine("D: {0}",f);
					listDir(f);
				}else{
					Console.WriteLine("F: {0}",f);
				}
			}
		}

		public static void Main(string[] args)
		{
			listDir(".");
		}
	}
}