软件真谛

用水云般自在的禅心,书写诗情画意的程序人生...
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

输出自己源代码的C#程序

Posted on 2008-03-24 20:34  李战  阅读(15801)  评论(10编辑  收藏  举报
    今天是情人节,无聊中就把以前写的这个程序发一下:

class writeme{static void Main(){string s="class writeme{{static void Main(){{string s={0}{1}{0};System.Console.Write(s,(char)34,s);}}}}"; System.Console.Write(s,(char)34,s);}}

    有趣的是,这个C#程序编译运行后,又会在控制台中输出和自身一模一样的源代码。注意,输出自己的源代码确实是靠自身代码的运行而产生的。

    从逻辑学上说,自我包含往往会产生逻辑悖论,但这个程序却不会。

    你知道为什么吗?

李战(leadzen).深圳 2008-2-14