gpt4 book ai didi

c# - 在 C# 中打开 Guid 的最有效方法

转载 作者:可可西里 更新时间:2023-11-01 08:32:30 25 4
gpt4 key购买 nike

所以在 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 字典的方法通过其 guid 检索值。

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

关于c# - 在 C# 中打开 Guid 的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11156047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com