C#怎么在控制台程序中实现如下功能

C#如何在控制台程序中实现如下功能?
  最近我做的控制台程序,这个程序的功能是:遍历某个文件夹,并把文件夹里面的所以文件名写出到一个txt文档中。但是这个程序只能遍历指定的文件夹,灵活性不高。我想实现的是如下功能:

1.生成 DirFileTreeInfo.exe
2.所遍历的目录通过参数指定
3.生成的txt文件位置也通过参数指定
4.当参数不完整,提示后退出
比如,要记录 D:盘下 games 目录中的内容,把读取到的 信息,
\DirFileTreeInfo.exe -d D:\games -o D:\gamesinfo.txt

本人是C#初学者,欢迎各位大神指教,如问题描述不详细请多多包涵。
------解决方案--------------------
你觉得那里难?
获取参数?其实就是按照你设定的规则拆分字符串。
获取指定文件夹的文件?楼上的已经说了。
写入文本文件?MSDN上有例子,F1看看就行了。
------解决方案--------------------
引用:
Quote: 引用:

你觉得那里难?
获取参数?其实就是按照你设定的规则拆分字符串。
获取指定文件夹的文件?楼上的已经说了。
写入文本文件?MSDN上有例子,F1看看就行了。


我觉得获取参数比较难,求指教

参数在main(string[] args)
其中args[] 就是命令行的参数.
------解决方案--------------------
用迭代器实现历遍
        // 通过迭代器实现字符串的倒序
        // <param string="n">进行倒序的字符串</param>
        // <returns>以对象的方式倒序返回单个字符</returns>
        public static IEnumerable<object> Transpose(string n)
        {
            if (n.Length >0)//如果泛型不为空
            {
                for (int i = n.Length-1; i >= 0; i--)//从末尾开始遍历字符串
                    yield return (object)n[i];//返回数据集合
            }//CodeGo.net/
        }

         // 获取倒序后的字符串
         // <param string="Str">进行倒序的字符串</param>
        // <returns>返回倒序后的字符串</returns>
        public string GetValue(string Str)
        {
            if (Str.Length == 0)//判断字符串长度是否为0
                return "";//返回空
            string Tem_Str = "";//记录倒序之后的字符串
            foreach (object i in Transpose(Str))//遍历迭代器
                Tem_Str += i.ToString();//获取迭代器中的每个字符
            return Tem_Str;//返回倒序之后的字符串
        }