生成唯一值的方法很多,下面就不同环境下生成的唯一标识方法一一介绍,作为工作中的一次总结,有兴趣的可以自行测试:

一、在 .NET 中生成

1、直接用.NET Framework 提供的 Guid() 函数,此种方法使用非常广泛。GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的任何两台计算机都不会生成重复的 GUID 值(即保证所有机器都是唯一的)。关于GUID的介绍在此不作具体熬述,想深入了解可以自行查阅MSDN。代码如下:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 namespace ConsoleApplication1
 6 {
 7     class Program
 8     {
 9         static void Main(string[] args)
10         {
11             string _guid = GetGuid();
12             Console.WriteLine("唯一码:{0}\t长度为:{1}\n去掉连接符:{2}", _guid, _guid.Length, _guid.Replace("-", ""));
13             string uniqueIdString = GuidTo16String();
14             Console.WriteLine("唯一码:{0}\t长度为:{1}", uniqueIdString, uniqueIdString.Length);
15             long uniqueIdLong = GuidToLongID();
16             Console.WriteLine("唯一码:{0}\t长度为:{1}", uniqueIdLong, uniqueIdLong.ToString().Length);
17         }
18         /// <summary>
19         /// 由连字符分隔的32位数字
20         /// </summary>
21         /// <returns></returns>
22         private static string GetGuid()
23         {
24             System.Guid guid = new Guid();
25             guid = Guid.NewGuid();
26             return guid.ToString();
27         }
28         /// <summary>  
29         /// 根据GUID获取16位的唯一字符串  
30         /// </summary>  
31         /// <param name=\"guid\"></param>  
32         /// <returns></returns>  
33         public static string GuidTo16String()
34         {
35             long i = 1;
36             foreach (byte b in Guid.NewGuid().ToByteArray())
37                 i *= ((int)b + 1);
38             return string.Format("{0:x}", i - DateTime.Now.Ticks);
39         }
40         /// <summary>  
41         /// 根据GUID获取19位的唯一数字序列  
42         /// </summary>  
43         /// <returns></returns>  
44         public static long GuidToLongID()
45         {
46             byte[] buffer = Guid.NewGuid().ToByteArray();
47             return BitConverter.ToInt64(buffer, 0);
48         }   
49     }
50 }
View Code

 

相关文章:

  • 2022-12-23
猜你喜欢
  • 2022-01-17
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-14
相关资源
相似解决方案