一年前,有一次在用Access数据库编程的时候,通过VS.NET数据设计器向导生成数据层代码,查看生成的代码,发现有许多中文,原来数据库中的表名和字段名用的就是中文,程序正常运行,查看相关文档才知道原来VS.NET默认的编码是UTF-8。不久前在一篇blog上看到讲易语言,所以干脆用VS.NET写一些中文代码来玩一下,结果就像平常写程序一样没有什么区别。
有点怪怪的味道,故把代码贴出来。
using System;
namespace Zhzuo.ConsoleTest
{
//接口
public interface 会飞的东西
{
void 飞行();
}
//抽象类
public abstract class 鸟类 : 会飞的东西
{
//虚方法
public virtual void 飞行()
{
Console.WriteLine("鸟类飞行!");
}
//抽象属性
public abstract string 名称
{
get;
set;
}
//抽象方法
public abstract string 获取鸟的名字();
}
//具体类
public class 鹰 : 鸟类
{
private string 变量1;
//构造函数
public 鹰(string 名称)
{
变量1 = 名称;
}
public override string 名称
{
get{return 变量1;}
set{变量1 = value;}
}
//重写基类方法
public override void 飞行()
{
Console.WriteLine("鹰在飞行!");
}
public override string 获取鸟的名字()
{
return 变量1;
}
}
//接口
public interface 飞机 : 会飞的东西
{
string 类型
{
get;
}
string 获取名称();
}
//具体类
public class 战斗机 : 飞机
{
public string 类型
{
get{ return "飞机类型:战斗机"; }
}
public string 获取名称()
{
return "战斗机";
}
public void 飞行()
{
Console.WriteLine("战斗机飞行");
}
}
public class ZZConsole
{
[STAThread]
static void Main(string[] args)
{
鸟类 一只鸟 = new 鹰("灰色的老鹰");
战斗机 一架飞机 = new 战斗机();
Console.WriteLine(一只鸟.名称);//灰色的老鹰
一只鸟.名称 = "黑色老鹰";
Console.WriteLine(一只鸟.名称);//黑色老鹰
Console.WriteLine(一只鸟.获取鸟的名字());//黑色老鹰
Console.WriteLine(一架飞机.类型);//飞机类型:战斗机
Console.WriteLine(一架飞机.获取名称());//战斗机
会飞的东西 飞行物 = 一只鸟;
飞行物.飞行();//鹰在飞行!
飞行物 = 一架飞机;
飞行物.飞行();//战斗机飞行
Console.ReadLine();
}
}
}
程序运行都在预料之中,一切正常。使用Reflector.exe查看代码如下:
上面是反射成C#,变成VB.net,DELPHI.net或IL生成的代码也都差不多。如果想变态一下那就用中文来写一些程序,这会是什么样的感觉?