- 生成GUID
GUID是一种可以用于生成全球唯一标识符的算法,具有足够的随机性和唯一性。在C#中可以通过Guid.NewGuid()方法生成GUID。
Guid guid = Guid.NewGuid();
string uniqueId = guid.ToString();
- 通过时间戳生成唯一值
根据当前时间计算其与一个固定日期之间的时间间隔的毫秒数,将其与一个自增的序列号拼接即可。
public static string GenerateUniqueIDWithTimeStamp()
{
DateTime startTime = TimeZoneInfo.ConvertTime(new DateTime(1970, 1, 1), TimeZoneInfo.Local);
TimeSpan timeSpan = DateTime.Now - startTime;
long timeStamp = Convert.ToInt64(timeSpan.TotalMilliseconds).ToString();
Interlocked.Increment(ref _sequence);
return timeStamp + _sequence.ToString().PadLeft(6, '0');
}
此方法可通过在方法前加上volatile修饰符,或使用线程安全的Interlocked.Increment方法来保证自增序列在多线程环境下的唯一性。
示例:
string uniqueId = GenerateUniqueIDWithTimeStamp();
以上是针对生成唯一值的方法汇总中的部分方法的介绍和示例,更多方法可以在文章中阅读。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#生成唯一值的方法汇总 - Python技术站