Csharp/C#教程:将GUID转换为long分享


将GUID转换为long

我需要在C#中开发一个everSing计数器。 我正在考虑将GUID转换为long。 这可能在c#中吗? 有没有其他方法来发展一个不断增加的柜台?

不, GUID是128位,所以不适合你的长,因为那是64位。 System.Decimal是128位,所以会让你走很远的路,但当然也有它的限制。 即使您将计数器保存在字符串中,它也有其限制。 计算机也有限制,你必须找到一个足够大的计算机,以便你可以继续一段时间。

编辑:

在.Net 4.0中有一个BigInteger可能相当大,但请记住,即使它有其限制,因为它必须适合内存。

你可以试试这样的东西。

 byte[] gb = Guid.NewGuid().ToByteArray(); int i = BitConverter.ToInt32(gb,0); long l = BitConverter.ToInt64(gb,0); 

我不确定它是否非常安全。 :p

GUID是128位整数。 long是有符号的64位整数。 虽然ulong的值可以是0到18,446,744,073,709,551,615。 够了吗? 或者你想使用小数?

问题是GUID的集合远远超过了所有整数长度精度的集合。 所以你真的在缩小选择的基数。 没有充分的理由这样做。

如果你想继续增加一个数字而不用担心它,那么有一个库IntX可以处理大数字。 您可以将数字生成器的本地状态存储在文件或内存中,并且您的数字会不断增加。 (好吧)

上述就是C#学习教程:将GUID转换为long分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/959638.html

(0)
上一篇 2021年11月23日
下一篇 2021年11月23日

精彩推荐