在.net下编写中文代码程序
郑佐2005-3-9
一年前,有一次在用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生成的代码也都差不多。如果想变态一下那就用中文来写一些程序,这会是什么样的感觉?
