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