C#使用Unicode编码处理字符,这也是Windows内置编码方式,使用这种方式带来一个好处就是,可以使用中文编程,除了关键词不能使用中文以外,类型、变量名、函数名、属性名等都可以使用中文。如果是C++的语法的话就可以使用#define定义宏,使用中文关键词替换项文关键词,那可就几乎是纯粹的中文编程了,遗憾的是C#中的#define不支持这种功能,它只能用于条件编译。
下面是一段中文程序的示例,看起来应该很亲切吧,但以前用英文编程习惯了,看着这些代码还真是不习惯,但它的确可以编译并正常运行。
using System;
using System.Text;
using 年龄 = System.SByte;
using 话 = System.String;
using 姓名 = System.String;namespace 中文编程示例
{
class 测试程序
{public enum 性别 { 男, 女 };
public class 人
{
public 性别 性别 { get; set; }
public 姓名 姓名 { get; set; }
public 年龄 年龄 { get; set; }public 人(姓名 我的姓名, 性别 我的性别, 年龄 我的年龄)
{
this.姓名 = 我的姓名;
this.性别 = 我的性别;
this.年龄 = 我的年龄;
}public void 说(话 要说的话)
{
Console.WriteLine("{0}说:/"{1}/".", this.姓名, 要说的话);
}
}public static class 上帝
{
public static 人 造人(姓名 人的姓名, 性别 人的性别, 年龄 人的年龄)
{
Console.WriteLine("上帝创造了 {0},性别:{1},今年{2}岁", 人的姓名, 人的性别, 人的年龄);
return new 人(人的姓名, 人的性别, 人的年龄);
}
}public static class 我
{
public static 话 说
{
get{ return Console.ReadLine();}
}public static void 要走了()
{
Console.WriteLine("我要走了,再敲一下键盘吧!");
Console.Read();
}
}static void Main(string[] args)
{
人 小布 = 上帝.造人("小布", 性别.男, 122);
小布.说("我来了");话 我的话 ;
do {
我的话 = 我.说;
if (我的话 != "去死")
小布.说("你说什么?我听不懂");
}while(我的话 != "去死");
小布.说("啊,我死了!");
我.要走了();
}
}
}