首页 新闻 会员 周边 捐助

解决数字不重复

0
悬赏园豆:10 [已解决问题] 解决于 2015-06-24 17:22

列入生成的数据是A201506110001 红色部分后四位要求不重复,求大神,没有好的方法来解决一下?

IT小伙儿的主页 IT小伙儿 | 初学一级 | 园豆:11
提问于:2015-06-11 14:40
< >
分享
最佳答案
0

静态全局变量存后四位,然后读取的时候用lock。

//有序就不重复。
public static int no = 0;

public static lockObj = new object();

public static int GetNumber()
{
  lock(lockObj)
  {
    no++;
    return no;
  }
}

另外一种也是差不多,就是随机生成一个四位数,然后和Hash表比对一下,如果没有,那么将该数加入Hashtable,然后返回。记得加锁,就能保证唯一了。
收获园豆:10
幻天芒 | 高人七级 |园豆:37207 | 2015-06-11 15:20
其他回答(3)
0

[0,1,2,3,4,5,6,7,8,9]  一个数组 随机索引 取到一个后在数组里去掉当前索引的数字,随机四次后进行拼接。

程序跳出了电脑 | 园豆:208 (菜鸟二级) | 2015-06-11 15:10
0

楼主是在问生成流水号吧~

NetRube | 园豆:277 (菜鸟二级) | 2015-06-11 19:22

嗯嗯 差不多吧 有好的方法吗

 

支持(0) 反对(0) IT小伙儿 | 园豆:11 (初学一级) | 2015-06-12 13:09

@IT小伙儿: 单独建个记录最后使用流水号的表~生成时再读取+1同时更新流水号表~

支持(0) 反对(0) NetRube | 园豆:277 (菜鸟二级) | 2015-06-14 16:55
0

++

nicky0227 | 园豆:1069 (小虾三级) | 2015-06-13 00:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册