【问题标题】:What is the best method of getting Int32 from first four bytes of GUID?从 GUID 的前四个字节获取 Int32 的最佳方法是什么?
【发布时间】:2008-09-05 11:25:50
【问题描述】:

我只是想知道它是否存在更好的解决方案。

BitConverter.ToInt32(sample_guid.ToByteArray(), 0)

【问题讨论】:

    标签: c# .net guid


    【解决方案1】:

    我认为没有比这更好的解决方案了。

    【讨论】:

      【解决方案2】:

      不知道是不是更好,但更容易阅读:

      Int32.Parse(sample_guid.ToString().SubString(0,1));

      诚然,我是一名初级开发人员,但对我来说,上面的内容比字节转换更容易阅读,而且在现代计算机上,它的运行速度几乎无法区分。

      【讨论】:

      • 根据格式,第一个字符可能是 {,解析不好。另外,GUID 中的 A-F 问题会导致此处出现问题。
      • 好吧,我认为我们可以轻松地对其进行编辑以处理 {,但您关于 A-F 的观点已被充分接受。正则表达式可以匹配第一个字母数字,或者可能将其转换为十六进制数字,但这会增加复杂性,使其变得不那么可读......
      【解决方案3】:

      不知道有什么更好的解决方案,但我希望您不打算将该 Int32 用作随机(或唯一)值。

      您不能依赖 Guid 的任何子部分是唯一的。假设 Guid 是唯一的,仅在其整体中是唯一的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-08
        • 1970-01-01
        • 1970-01-01
        • 2010-10-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-23
        相关资源
        最近更新 更多