加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在C#中打开Guid的最有效的方式

发布时间:2020-12-15 17:37:34 所属栏目:百科 来源:网络整理
导读:所以在C#中,switch语句只支持整数类型(不是Guid),所以简单的O(1)比较表看起来不可能. 在Guid上匹配的计算最有效的方法是什么? 起初我想 if(gMyGuid == new Guid("VALUE"))else if (gMyGuid == new Guid("VALUE2")else if (gMyGuid == new Guid("VALUE3")...
所以在C#中,switch语句只支持整数类型(不是Guid),所以简单的O(1)比较表看起来不可能.

在Guid上匹配的计算最有效的方法是什么?

起初我想

if(gMyGuid == new Guid("VALUE"))
else if (gMyGuid == new Guid("VALUE2")
else if (gMyGuid == new Guid("VALUE3")
...
else if (gMyGuid == new Guid("VALUEn")

然而,通过这样做,我每次都会创建一个新的Guid的实例来进行比较.我可以将Guid转换为字符串,然后比较字符串,但字符串比较是一个很长的字符串进行比较.

感谢任何建议.

解决方法

您可以创建一个 System.Collections.Generic.Dictionary< Guid,...>哪里是对你有用的东西

在程序启动时,使用您需要识别的GUID和值填充字典.

然后,使用字典的TryGetValue方法通过其引用来检索值.

我没有说出任何字面意思,因为我不知道你想要做什么.也许你想要运行一些函数,然后一个方法指针(Func< T>或类似的东西)可能是适当的,或者是提供要调用的方法的接口类型.这取决于该guid的上下文/目的比较代码.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读