C#Quine问题
我试图理解这段自我复制的代码是如何工作的(已找到),但问题是我无法让它按原样运行C#Quine问题,c#,quine,C#,Quine,我试图理解这段自我复制的代码是如何工作的(已找到),但问题是我无法让它按原样运行 class c { static void Main(){ string s = "class c{{static void Main(){{string s={0}{10};System.Console.Write(s,(char)34,s);}}}}"; System.Console.Write(s,(char)34,s); //<<-- exceptio
class c {
static void Main(){
string s = "class c{{static void Main(){{string s={0}{10};System.Console.Write(s,(char)34,s);}}}}";
System.Console.Write(s,(char)34,s); //<<-- exception on this line
}
}
你能把原作和你的作品联系起来吗
s={0}{1}{0}
我认为缺少了一对大括号-它应该是
{1}{0}
而不是{10}
class c {
static void Main(){
string s = "class c{{static void Main(){{string s={0}{1}{0};System.Console.Write(s,(char)34,s);}}}}";
System.Console.Write(s,(char)34,s); //<<-- exception on this line
}
}
c类{
静态void Main(){
string s=“class c{{static void Main(){{string s={0}{1}{0};System.Console.Write(s,(char)34,s);}}}}}”;
System.Console.Write(s,(char)34,s);//我相信原版应该是这样的:
class c {
static void Main() {
string s = "class c{{static void Main(){{string s={0}{1}{0};System.Console.Write(s,(char)34,s);}}}}";
System.Console.Write(s, (char)34, s);
}
}
也就是说,{0}{10}
应该改为{0}{1}{0}
class c {
static void Main(){
string s = "class c{{static void Main(){{string s={0}{1}{0};System.Console.Write(s,(char)34,s);}}}}";
System.Console.Write(s,(char)34,s); //<<-- exception on this line
}
}
格式字符串中的{0}
用于在字符串前后加引号