我正在做一个简单的相册管理系统,之前用的那种算法是用当前时间的毫秒数生成8位随机数但照片多了以后就会有重复,怎样用C#语言生成永不重复的照片名?

解决方案 »

  1.   

    多数用时间+随机数 检查是否有重复if (File.Exists(path))
        {
    //code
    }
    GUID也行
              }
      

  2.   

    照理说guid是不会重复的。
    机率非常小。
      

  3.   

    这个好办:string name = DateTime.Now.Ticks.ToString();这个不会重复。
      

  4.   

    DateTime.Now.ToString(yyyyMMddHHmmssffff) 或者guid
      

  5.   

    一般的PC Windows系统15毫秒之内全都是重复的...计算机时钟是有精度的,说时间戳不会重复的去看看操作系统原理...GUID理论上都有有重复的,只不过重复几率小过你被从天而降的罗老号击中...
      

  6.   

    用guid.或者使用时间,精确到毫秒.
    重复的概率会很小很小.但不是没有
    不过要看你的网站有没有twitter那么大的访问量了
      

  7.   

    额,换个视角来考虑就行了想想看银行系统的流水单号是啥。银行系统可比你这个复杂,人家如何保证不重复??XXX-20100101-0001
      

  8.   

    如果是asp.net的话,我一般用时间加sessionid
      

  9.   

    随机数+GUID+时间戳
    要是还能重复。 我把我的机子吃了, 楼下的作证
      

  10.   

    sessioid guid 时间毫秒加起来应该不会重复了
      

  11.   

    干嘛不用自动增长列,这个不会重复(当然有范围限制,一般应该够用了吧)随机数、GUID一般情况不会重复
    但在执行大量并发数据时就不一定了