编程语言
首页 > 编程语言> > 用C#取个中文名字

用C#取个中文名字

作者:互联网

 

*注意:此方法获得的名字很可能出现生僻字,若要get一个好记/常见的名字,还请另作操作.

以百家姓(444个单姓,60个复姓)作为姓氏,再添加两个随机的中文,You can get a chinese name.

命名不佳等方面,还请谅解.

常见姓氏(80个)在下边(字符数组).

Code:

using System;

namespace CreateChineseName
{
    class Program
    {
        static void Main(string[] args)
        {
            string name = string.Empty;

            //单姓 共444个
            char[] SingleLastName = new char[444] {
                '赵', '钱', '孙', '李', '周', '吴', '郑', '王', '冯', '陈',
                '褚', '卫', '蒋', '沈', '韩', '杨', '朱', '秦', '尤', '许',
                '何', '吕', '施', '张', '孔', '曹', '严', '华', '金', '魏',
                '陶', '姜', '戚', '谢', '邹', '喻', '柏', '水', '窦', '章',
                '云', '苏', '潘', '葛', '奚', '范', '彭', '郎', '鲁', '韦',
                '昌', '马', '苗', '凤', '花', '方', '俞', '任', '袁', '柳',
                '酆', '鲍', '史', '唐', '费', '廉', '岑', '薛', '雷', '贺',
                '倪', '汤', '滕', '殷', '罗', '毕', '郝', '邬', '安', '常',
                '乐', '于', '时', '傅', '皮', '卞', '齐', '康', '伍', '余',
                '元', '卜', '顾', '孟', '平', '黄', '和', '穆', '萧', '尹',
                '姚', '邵', '湛', '汪', '祁', '毛', '禹', '狄', '米', '贝',
                '明', '臧', '计', '伏', '成', '戴', '谈', '宋', '茅', '庞',
                '熊', '纪', '舒', '屈', '项', '祝', '董', '梁', '杜', '阮',
                '蓝', '闵', '席', '季', '麻', '强', '贾', '路', '娄', '危',
                '江', '童', '颜', '郭', '梅', '盛', '林', '刁', '钟', '徐',
                '邱', '骆', '高', '夏', '蔡', '田', '樊', '胡', '凌', '霍',
                '虞', '万', '支', '柯', '昝', '管', '卢', '莫', '经', '房',
                '裘', '缪', '干', '解', '应', '宗', '丁', '宣', '贲', '邓',
                '郁', '单', '杭', '洪', '包', '诸', '左', '石', '崔', '吉',
                '钮', '龚', '程', '嵇', '邢', '滑', '裴', '陆', '荣', '翁',
                '荀', '羊', '於', '惠', '甄', '麴', '家', '封', '芮', '羿',
                '储', '靳', '汲', '邴', '糜', '松', '井', '段', '富', '巫',
                '乌', '焦', '巴', '弓', '牧', '隗', '山', '谷', '车', '侯',
                '宓', '蓬', '全', '郗', '班', '仰', '秋', '仲', '伊', '宫',
                '宁', '仇', '栾', '暴', '甘', '钭', '厉', '戎', '祖', '武',
                '符', '刘', '景', '詹', '束', '龙', '叶', '幸', '司', '韶',
                '郜', '黎', '蓟', '薄', '印', '宿', '白', '怀', '蒲', '邰',
                '从', '鄂', '索', '咸', '籍', '赖', '卓', '蔺', '屠', '蒙',
                '池', '乔', '阴', '郁', '胥', '能', '苍', '双', '闻', '莘',
                '党', '翟', '谭', '贡', '劳', '逄', '姬', '申', '扶', '堵',
                '冉', '宰', '郦', '雍', '舄', '璩', '桑', '桂', '濮', '牛',
                '寿', '通', '边', '扈', '燕', '冀', '郏', '浦', '尚', '农',
                '温', '别', '庄', '晏', '柴', '瞿', '阎', '充', '慕', '连',
                '茹', '习', '宦', '艾', '鱼', '容', '向', '古', '易', '慎',
                '戈', '廖', '庾', '终', '暨', '居', '衡', '步', '都', '耿',
                '满', '弘', '匡', '国', '文', '寇', '广', '禄', '阙', '东',
                '欧', '殳', '沃', '利', '蔚', '越', '夔', '隆', '师', '巩',
                '厍', '聂', '晁', '勾', '敖', '融', '冷', '訾', '辛', '阚',
                '那', '简', '饶', '空', '曾', '毋', '沙', '乜', '养', '鞠',
                '须', '丰', '巢', '关', '蒯', '相', '查', '後', '荆', '红',
                '游', '竺', '权', '逯', '盖', '益', '桓', '公', '仉', '督',
                '晋', '楚', '闫', '法', '汝', '鄢', '涂', '钦', '归', '海',
                '岳', '帅', '缑', '亢', '况', '后', '有', '琴', '商', '牟',
                '佘', '佴', '伯', '赏', '墨', '哈', '谯', '笪', '年', '爱',
                '阳', '佟', '言', '福'
            };

            //复姓 共60个
            string[] DoubleLastName = new string[60] {
                "万俟", "司马", "上官", "欧阳", "夏侯", "诸葛", "闻人", "东方", "赫连", "皇甫",
                "尉迟", "公羊", "澹台", "公冶", "宗政", "濮阳", "淳于", "单于", "太叔", "申屠",
                "公孙", "仲孙", "轩辕", "令狐", "钟离", "宇文", "长孙", "慕容", "鲜于", "闾丘",
                "司徒", "司空", "亓官", "司寇", "子车", "颛孙", "端木", "巫马", "公西", "漆雕",
                "乐正", "壤驷", "公良", "拓跋", "夹谷", "宰父", "谷梁", "段干", "百里", "东郭",
                "南门", "呼延", "羊舌", "微生", "梁丘", "左丘", "东门", "西门", "南宫", "第五"
            };

            //使用随机数在中文随机选取文字
            Random rd = new Random();
            int rdnumber;

            //设置产生的名字数量 默认为1
            int NumberOfNames = 1;
            //基本汉字在unicode编码中位于19968 - 40869
            int ChineseWordsNumber = 40869 - 19968 + 1;
            int FirstChineseWord = 19968;
            while (true)
            {
                for (int i = 0; i < NumberOfNames; ++i)
                {
                    //产生随机数 代表 单姓或复姓 下标(共有444+60=504种姓氏)
                    rdnumber = rd.Next(504);
                    //判断 单姓还是复姓
                    if (rdnumber < 444) name += SingleLastName[rdnumber];
                    else name += DoubleLastName[rdnumber - 444];
                    //添加第一个字
                    rdnumber = rd.Next(ChineseWordsNumber) + FirstChineseWord;
                    name += (char)rdnumber;
                    //添加第二个字
                    rdnumber = rd.Next(ChineseWordsNumber) + FirstChineseWord;
                    name += (char)rdnumber;
                    //显示名字
                    Console.WriteLine(name);
                    //名字重置
                    name = string.Empty;
                }

                //你可以不断回车 以获得新的名字
                Console.ReadLine();
                //清除已显示名字 方便复制
                Console.Clear();
            }
        }
    }
}

常见姓氏:

//常见姓氏有这80个
char[] OftenLastName = new char[80] {
    '李','王','张','刘','陈','杨','黄','赵','吴','周',
    '徐','孙','马','朱','胡','郭','何','高','林','罗',
    '郑','梁','谢','宋','唐','许','韩','冯','邓','曹',
    '彭','曾','萧','田','董','袁','潘','于','蒋','蔡',
    '余','杜','叶','程','苏','魏','吕','丁','任','沈',
    '姚','卢','姜','崔','钟','谭','陆','汪','范','金',
    '石','廖','贾','夏','韦','傅','方','白','邹','孟',
    '熊','秦','邱','江','尹','薛','阎','段','雷','侯'
};

效果图:

参考:

汉字 Unicode 编码范围:
https://www.qqxiuzi.cn/zh/hanzi-unicode-bianma.php 百家姓:
https://baike.baidu.com/item/百家姓/194637?fr=aladdin 本文为Dumb原创,请勿抄袭..

标签:中文,string,C#,取个,444,char,int,rdnumber,name
来源: https://www.cnblogs.com/drakeisdumb/p/12019127.html