根据需求,自定义规则,生成相应的编码 : 如,XXXXYYYYZZZZ ,4个X就为4位数字(1001),YYYY前两位为字母,后两位为数字(ab12),ZZZZ为四位数字(0001,0002...)
用一个函数,穷举出你所有的字母形式,然后将你传入的这个规则字符串转换为char数组,然后去循环这个数组,让数组中的每个字母都产生一个你想要的值,然后拼接起来,就可以了。
/// <summary> /// 根据规则生成编码 /// </summary> /// <param name="rule">规则字符串</param> /// <returns>返回编码字符串</returns> public string GenCoding(string rule) { //转换为小写形式或全大写形式,视情况是否需要 rule = rule.ToUpper(); string returnRule = string.Empty;//定义返回的规则变量 //如果都是XXXX-ZZZ-M-NN这种规则的,就分割来使用,建议使用这种规则的 foreach (char item in rule.ToCharArray()) { switch (item) { case 'Z': //doSomthing //returnRule =生成的值 break; case 'X': //doSomthing //returnRule =生成的值 break; /* ...... */ default: break; } } return returnRule; }
没发现难点在哪儿呀,建议你先尝试 自己解决,解决过程中遇到难点了,把难点提出来,大家帮你。
同意,通过截取和拼接字符串不就实现了,自己试着写一个方法就行
使用脚步首先你截取前两个是yyyy 然后都截取出来给赋值使用随机数,复制后在拼接成字符串返回就可以。 很简单的
this.EcHumanResourcesInfo_BillNo.Value = GetRandomNum("" + strYear + "HR");
public string GetRandomNum(string letter)
{
string order = new Random().Next(100, 999).ToString();
order = letter + DateTime.Now.ToString("yyMdHms") + order;
return order;
}
想要什么样的效果自己改吧
木有明白你的具体需求。
就是封装一个方法, 根据不同的需求,处理不同的业务, 如XXXXYYYYZZZZ ,4个X就为4位数字(1001),YYYY前两位为字母,后两位为数字(ab12),ZZZZ为四位数字(0001,0002...) 最终生成一个字符串: 1001ab120001,下一条 1001ab120002... 假如需求变化了, XXXX-ZZZ-M-NN
XXXX如上, ZZZ(001-999); M为一个字母(A-I) NN为流水号 01,02,03...
@net程序员11: 你的需求呢?也就是说你希望的这个函数的输入参数是什么?
@笨笨蜗牛: 现在就是需要一种方案,能解决不同用户的需求, 怎么才能让不同的用户满足不同的需要, 最终得到的就是一段字符串