gpt4 book ai didi

c# - 在 C# 中返回对象列表的最快方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 14:35:10 25 4
gpt4 key购买 nike

我正在为 3D 建模程序编写插件。 API 有一个功能,您可以在其中拦截显示管道并插入其他几何图形,这些几何图形将在实际不在模型中的情况下显示(您可以看到它但不能选择/移动/删除等。等等) .

此 API 的部分功能是在每次屏幕刷新时调用的方法,该方法用于告诉程序要显示的额外几何图形。现在我有一个 HashSet,它通过 foreach 语句进行迭代。 OnBrep 是 API 的通用几何类。

我有一个额外的命令,可以将“Ghost”几何体转储到实际模型中。我发现,如果几何图形实际上在模型中,则显示速度会大大加快。所以我想知道是否有更快的方法向程序提供对象列表?一个简单的一维数组会比 HashSet<> 快得多吗?

最佳答案

返回对象集合的最快方法是返回 (a) 内部用于构建集合的实际物理类型,或 (b) 可以转换为数据的类型不会复制到内存中。一旦开始复制数据(例如 CopyToToArrayToList、复制构造函数等),您就浪费了时间。

话虽如此,除非项目数量很大,否则这将是一个微观优化,因此可能不值得这样做。在这种情况下,只需返回对调用代码最有用的集合类型。如果您不确定,请进行一些时序测试而不是猜测。

关于c# - 在 C# 中返回对象列表的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1358821/

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