C# 写的一个生成随机汉语名字的小程序

最近因为要做数据库相关的测试,频繁使用到测试数据,手动添加太过于麻烦,而且复用性太差,因此干脆花了点时间写了一个生成随机姓名和相关数据的类,贴在这里,有需用的同志们可以参考一下。代码本身质量不好,也不算规范,各取所需莫要取笑-。-

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

         private static string lastName = @"努,迪,立,林,维,吐,丽,新,涛,米,亚,克,湘,明,
            白,玉,代,孜,霖,霞,加,永,卿,约,小,刚,光,峰,春,基,木,国,娜,晓,兰,阿,伟,英,元,
            音,拉,亮,玲,木,兴,成,尔,远,东,华,旭,迪,吉,高,翠,莉,云,华,军,荣,柱,科,生,昊,
            耀,汤,胜,坚,仁,学,荣,延,成,庆,音,初,杰,宪,雄,久,培,祥,胜,梅,顺,涛,西,库,康,
            温,校,信,志,图,艾,赛,潘,多,振,伟,继,福,柯,雷,田,也,勇,乾,其,买,姚,杜,关,陈,
            静,宁,春,马,德,水,梦,晶,精,瑶,朗,语,日,月,星,河,飘,渺,星,空,如,萍,棕,影,南,北";
         private static string nationName = @"汉族,壮族,满族,回族,苗族,维吾尔族,土家族,
            彝族,蒙古族,藏族,布依族,侗族,瑶族,朝鲜族,白族,哈尼族,哈萨克族,黎族,傣族,畲族,
            傈僳族,仡佬族,东乡族,高山族,拉祜族,水族,佤族,纳西族,羌族,土族,仫佬族,锡伯族,
            柯尔克孜族,达斡尔族,景颇族,毛南族,撒拉族,布朗族,塔吉克族,阿昌族,普米族,鄂温克族
            ,怒族,京族,基诺族,德昂族,保安族,俄罗斯族,裕固族,乌兹别克族,门巴族,鄂伦春族,
            独龙族,塔塔尔族,赫哲族,珞巴族";
         static Random rnd = new Random((int)DateTime.Now.ToFileTimeUtc());

        public static string getRandomName()
        {
            int namelength = 0;
            namelength = rnd.Next(2, 4);
            firstName = firstName.Replace("\n", "");
            firstName = firstName.Replace("\r", "");
            firstName = firstName.Replace(" ", "");
            lastName = lastName.Replace("\r", "");
            lastName = lastName.Replace("\n", "");
            lastName = lastName.Replace(" ", "");
            string name = "";
            string[] FirstName = firstName.Split(‘,‘);
            string[] LastName = lastName.Split(‘,‘);
            if (namelength == 2)
            {
                name = FirstName[rnd.Next(0, FirstName.Length)] + LastName[rnd.Next(0, LastName.Length)];
            }
            else if (namelength == 3)
            {
                name = FirstName[rnd.Next(0, FirstName.Length)] + LastName[rnd.Next(0, LastName.Length)] + LastName[rnd.Next(0, LastName.Length)];
            }

            return name;
        }
       public  static string  GetRandomNumber(int startnumber,int endnumber )
        {
            string strNumber = rnd.Next(startnumber, endnumber).ToString();
            return strNumber;
        }
        public static string GetRandomNation()
       {
           nationName = nationName.Replace("\n", "");
           nationName = nationName.Replace("\r", "");
           nationName = nationName.Replace(" ", "");
           string[] nationname = nationName.Split(‘,‘);
           string nation = nationname[rnd.Next(0, 55)];
           return nation;
       }
    }

其中姓氏取得所有百家姓的姓,名字只是从下面一百多个字中随机取中间的一两个字作为名字,程序可以生成2-4个字的名字,当然也是随机的,后面还多了个随机民族,主要是我自己用。就当奉送啦!
中间的有些代码是做格式控制用的,兄台们看看就好。有问题留言或者直接联系我。

时间: 2024-10-14 05:02:47

C# 写的一个生成随机汉语名字的小程序的相关文章

使用VSTO写的一个打印工牌/工作证的小程序

转行做HR近2年.最近公司要做工牌,工牌上要打印照片,姓名,工号和部门等信息.一共1000多人,如果手工排版手工打印的话,估计要死人. 于是coding的老毛病又犯了,想写个程序来打印工牌.还是拿最近比较常用vsto来做office插件程序吧.毕竟这个用起来也顺手,因为没有一个hr不会用excel. 一,工牌的大体样子 <图1> 基本元素:企业名称,照片,姓名,工号,部门,企业理念.当然程序并没有限制工卡的内容,这里只是个例子.实际使用时,你可以根据自己的需要来定义格式,定义要打印的内容. 二

初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助

初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助,如果有bug或者更好的优化方案,也请批评与指正,谢谢,代码如下: 1 var fs = require('fs'); 2 var tel = [ 3 "1/2/4/6/a.tpl.html", 4 "1/2/4/7/9/c.tpl.html", 5 "1/3/5/8/b.tpl.html"]; 6 var demo = function (mulu)

一个简单的计算分数的小程序

一个简单的计算分数的小程序 代码如下: package Day05; public class ExamGradeDemo { public static void main(String[] args) { char[][] answers = { {'C','B','D','C','A','A','D','C','D','C'}, {'A','C','B','D','C','A','D','C','B','D'}, {'A','C','B','D','B','D','C','A','A','

php一个利用cookie限时发帖的小程序

/* * _timed()用来限制时间,如发帖限制 * @access public 表示函数对外公开 * @param $_now_time 现在时间 * @param $_pre_time 要对比的时间 * @param $_time 限制时间 * @param $_string 要提示的字符 * @return $_now_time-$_pre_time 表示返回过了多少秒 * */ function _timed($_now_time,$_pre_time,$_time,$_string

利用x64_dbg破解一个最简单的64位小程序

最近在研究学习一些逆向的东西,其实之前也涉及到这方面的东西,只是之前的系统和应用,基本上都是32位的,所以直接用od来分析就行了,这方面的资料在网上很多,随便一搜到处都是,不过随着技术的不断发展,64位系统出现了,随之64位的应用也出现了,而od只能分析32位应用,所以一些64位应用,od是没办法分析逆向的,所以,在这里要提到另一个可以用于分析64位应用的调试软件,名字叫x64_dbg.网上对于这款软件的介绍很少,只是说能分析64位应用,具体用法也找不到,不过我找到了它的一个教程,里面有一个最简

一个帮你记密码的小程序

OnePass ??现在的人们社交软件越来越多.需要记住的社交账号也越来越多,我就是前几天忘了某个密码折腾了好久,于是心血来潮想使用Qt整一个小程序来帮助自己查询密码.取个名字叫OnePass吧. 思路: ??因为技术原因所以做的只需要满足自己的需求.计划着是用Qt做界面,方便操作,然后用数据库记录各个社交平台的账号密码. 1.初始界面 需求: 1.打开后会先弹出一句欢迎的话(虽然做的简陋,但礼貌还是要有的). //需要添加头文件#include<QMessageBox> QMessageBo

做一个类似共享链商家的小程序

当我们想要做一款类似于共享链商家的小城,(微=175-2043*6907)我们该怎么开始?返利分销共享链商家小程序开发 源码下载 共享链依托于微信小程序, 涵盖场景包括电商.零售.教育.医疗.金融等, 其拥有去中心化和分布式账本特点, 实现公平.公正.公开,便捷.安全,高效, 最快实现T+0到账等产品功能: 顾客,使用扫码支付,随机获得消费奖励, 免去在实体店排队等候现金结账的漫长时间: 商户,通过设置让利比率,直接回馈消费者, 免去昂贵广告费用,免找零,零假币,支付即营销. 由于共享链商家是一

用C/C++生成随机中文名字

今天写了个这个功能,有点粗糙,可能会有很多地方要修改,分享下: 1 #include <stdio.h> 2 #include <windows.h> 3 #include <time.h> 4 5 //499个 0-498,百家姓 6 const char NameHead[500][10] = {"赵","钱","孙","李",.....} 7 //322个,词语 8 const cha

使用Apache POI写的一个生成Excel的工具类

话不多说,直接上代码,就一个类,注释也写得比较清楚了. /** * */ package com.common.office; import java.io.FileOutputStream; import java.lang.reflect.Field; import java.util.Calendar; import java.util.List; import org.apache.commons.collections.CollectionUtils; import org.apach