[C#版本]有趣啊!各种编程语言实现2+2=5

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

首页新闻里面那个

[新闻头条]有趣啊!各种编程语言实现 2 + 2 = 5

其他的就不评论的,但是其中C#版的 真是逗比啊...评论中各种吐槽有木有...

staticvoidMain (string[] args)

{varx =2;vary =2;if(1==0) ;

{++x;

}

Console.WriteLine (x+y);

}

所以我闲来无聊 ~~ 也来实现一个....

staticvoidMain(string[] args)

{using(varp =newCSharpCodePRovider())

{

Console.SetOut((TextWriter)p.CompileAssemblyFromSource(newCompilerParameters() { GenerateExecutable =false, GenerateInMemory =true, IncludeDebugInformation =false},"using System.IO;using System.Text;class a:TextWriter{TextWriter _;public a(TextWriter w){_=w;}public override void Write(char v){_.Write(v=='4'?'5':v);} public override Encoding Encoding{get{return _.Encoding;}}}").CompiledAssembly.GetTypes()[0].GetConstructor(new[] {typeof(TextWriter) }).Invoke(newobject[] { Console.Out }));

}

Console.WriteLine("{0}+{1}={2}",2,2,2+2);

}

解释下

就是重定义了输出到控制台的TextWrite对象 让4变成5 也没什么意义

总是比新闻那个版本高级一点的...呵呵~~

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航