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

首页新闻里面那个

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

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

static void Main (string[] args)
{
    var x = 2;
    var y = 2;

    if (1 == 0) ;
    {
        ++x;
    }

    Console.WriteLine (x + y);
}

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

static void Main(string[] args)
{
    using (var p = new CSharpCodeProvider())
    {
        Console.SetOut((TextWriter)p.CompileAssemblyFromSource(new CompilerParameters() { 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(new object[] { Console.Out }));
    }

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

解释下

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

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

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

时间: 2024-08-14 04:09:29

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

NET Core

[.net 面向对象程序设计深入](8)认识.NET Core  1,概述          .NET 经历14年,在Windows平台上的表现已经相当优秀,但是"跨平台.开源"却是其痛点,从16年开始.NET Core的出现将迎来.NET的真正意义上的跨平台和开源序幕.     .NET Core是一个开源通用的开发框架,支持跨平台,即支持在Window,macOS,Linux等系统上的开发和部署,并且可以在硬件设备,云服务,和嵌入式/物联网方案中进行使用.     .NET Cor

散文说python半篇——景观三元论与盖茨比的对话

今天, 天气晴朗,风和日丽: 我其实在说谎-- 爱说谎其实是我的天性 上个礼拜四我就用景观三元论说了很多谎话,然后一头大象自己上吊了, 了不起的大象啊,盖茨比也要从坟墓里爬出来了吧, 陈年旧事, 紫露凝烟, 没有了盖茨比的坟墓依然是遗址公园,景观三元论如是说. 景观三元论问:盖茨比,你为何不用C++写代码?非要用ruby或者python这种运行很慢的语言呢? 盖茨比说: 老兄,你要求快,干脆直接用汇编语言去写吧. 举个例子吧, 你用C++写一个实现某个功能的程序,这个程序的运行速度确实很快,只要

.NET Core 全新认识(转载)

.NET Core 全新认识 cnblogs.com/yubinfeng/p/6626694.html 一.概述      .NET 经历14年,在Windows平台上的表现已经相当优秀,但是"跨平台.开源"却是其痛点,从16年开始.NET Core的出现将迎来.NET的真正意义上的跨平台和开源序幕. .NET Core是一个开源通用的开发框架,支持跨平台,即支持在Window,macOS,Linux等系统上的开发和部署,并且可以在硬件设备,云服务,和嵌入式/物联网方案中进行使用. .

Angular2 从0到1 (一)

史上最简单Angular2教程,大叔都学会了 作者:王芃 [email protected] 第二节:Angular2 从0到1 (二)第三节:Angular2 从0到1 (三) 第一节:认识Angular2 前言 Angular 2 是Google推出的一个跨平台全终端的框架,和目前比较火的React和Vue.js相比,有如下优点: 由于Google的目的是推出一个完整解决方案,所以官方默认提供的类库(比如routing,http,依赖性注入(DI)等)非常完整,无需自己选择.React的一大

【C语言探索之旅】 第二部分第三课:数组

内容简介 1.课程大纲 2.第二部分第三课: 数组 3.第二部分第四课预告:字符串 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算那点事 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创建你自己的变量类型 文件读写 动态分配

Windows7+VS2010下OpenGL的环境配置

http://johnhany.net/2014/01/environment-for-opengl-with-vs2010/ OpenGL(Open Graphics Library)是一个开放的.跨编程语言.跨平台的API库,提供了大量的针对图形硬件的软件接口,主要用于绘制高性能的二维和三维图形.它的一个子集OpenGL ES主要针对嵌入式系统,比如手机.平板等,目前也开始流行起来. GLSL(OpenGL Shading Language)是OpenGL 2.0版本开始引入的编程语言,用来

[.net 面向对象程序设计深入](8)认识.NET Core

[.net 面向对象程序设计深入](8)认识.NET Core  1,概述          .NET 经历14年,在Windows平台上的表现已经相当优秀,但是“跨平台.开源”却是其痛点,从16年开始.NET Core的出现将迎来.NET的真正意义上的跨平台和开源序幕.     .NET Core是一个开源通用的开发框架,支持跨平台,即支持在Window,macOS,Linux等系统上的开发和部署,并且可以在硬件设备,云服务,和嵌入式/物联网方案中进行使用.     .NET Core的源码放

关于flash播放器不为人知的四大点

Flash是Flash Macromedia公司开发的动画编辑工具,用于交互网站.交互数字体验和高冲击力的移动内容的创作,被大量应用于互联网网页的矢量动画文件格式,网页设计者使用Flash能够创作出既美观又可以改变尺寸的导航界面以及其他多种效果.让我们从以下四个方面简单的了解以下flash播放器吧. 1.flash播放器的版本更新 Flash是一种交互式矢量多媒体技术,他的前身是Futureplash,早期网上流行的矢量动画插件.后来由于Macromedia公司收购了Future Splash同

MySQL 超级入门教程

MySQL简介 1.什么是数据库 ? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式.数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用. 主流的数据库有:sqlserver,mysql,Oracle.SQLite.Access.MS SQL Server等,