Куайн - программа на C#, которая выводит свой код

Иногда на собеседованиях в различных компаниях просят написать программу, которая выводит на экран свой собственный код.

Класс таких программ называется Куайн (Quine) в честь американского логика и философа Willard Van Orman Quine (1908—2000).

На первый взгляд задачка достаточно нетривиальная, однако решение на С# выглядит коротко и изящно:

    1: using System;
    2: class A{static void Main(){string s=@"using System;
    3: class A{{static void Main(){{string s=@{0}{1}{0};
    4: Console.Write(s,'{0}',s);}}}}";
    5: Console.Write(s,'"',s);}}

Если вам интересно узнать, как будет выглядеть такая программа для С++ или для других языков программирования, то вы можете зайти на ВикиПедию, в которой Куайнам посвящен целый раздел: http://ru.wikipedia.org/wiki/Quine