C#中文编程

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(我的话 != "去死");
            小布.说("啊,我死了!");
            我.要走了();
        }
    }
}

你可能感兴趣的:(编程,windows,String,C#,测试,Class)