GUID转换成16位19位22位唯一字符串
Posted 每天进步多一点
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GUID转换成16位19位22位唯一字符串相关的知识,希望对你有一定的参考价值。
/// <summary> /// 依据GUID获取16位的唯一字符串 /// <param name=\\"guid\\"></param> /// <returns></returns> public static string GuidTo16String() long i = 1; foreach (byte b in Guid.NewGuid().ToByteArray()) i *= ((int)b + 1); return string.Format("0:x", i - DateTime.Now.Ticks);
/// <summary> /// 依据GUID获取19位的唯一数字序列 /// <returns></returns> public static long GuidToLongID() byte[] buffer = Guid.NewGuid().ToByteArray(); return BitConverter.ToInt64(buffer, 0);
/// <summary> /// 生成22位唯一的数字 并发可用 /// <returns></returns> public static string GenerateUniqueID() System.Threading.Thread.Sleep(1); //保证yyyyMMddHHmmssffff唯一 Random d = new Random(BitConverter.ToInt32(Guid.NewGuid().ToByteArray(), 0)); string strUnique = DateTime.Now.ToString("yyyyMMddHHmmssffff") + d.Next(1000, 9999); return strUnique;
GUID获取16位19位22位的唯一字符串
/// <summary>
/// 根据GUID获取16位的唯一字符串
/// </summary>
/// <param name="guid"></param>
/// <returns></returns>
public static string GuidTo16String()
{
long i = 1;
foreach (byte b in Guid.NewGuid().ToByteArray())
i *= ((int)b + 1);
return string.Format("{0:x}", i - DateTime.Now.Ticks);
}
/// <summary>
/// 根据GUID获取19位的唯一数字序列
/// </summary>
/// <returns></returns>
public static long GuidToLongID()
{
byte[] buffer = Guid.NewGuid().ToByteArray();
return BitConverter.ToInt64(buffer, 0);
}
/// <summary>
/// 生成22位唯一的数字 并发可用
/// </summary>
/// <returns></returns>
public static string GenerateUniqueID()
{
System.Threading.Thread.Sleep(1); //保证yyyyMMddHHmmssffff唯一
Random d = new Random(BitConverter.ToInt32(Guid.NewGuid().ToByteArray(), 0));
string strUnique = DateTime.Now.ToString("yyyyMMddHHmmssffff") + d.Next(1000, 9999);
return strUnique;
}
以上是关于GUID转换成16位19位22位唯一字符串的主要内容,如果未能解决你的问题,请参考以下文章