Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# GetComponent()与访问字典之间是否存在性能差异?_C#_Performance_Dictionary_Unity3d - Fatal编程技术网

C# GetComponent()与访问字典之间是否存在性能差异?

C# GetComponent()与访问字典之间是否存在性能差异?,c#,performance,dictionary,unity3d,C#,Performance,Dictionary,Unity3d,我想在触发输入时访问游戏对象的组件。我可以使用GetComponent(),或者我可以在Awake()中创建游戏对象与字典中CustomClass的连接,这样我就可以访问CustomClass,如下所示:字典[gameobject] 两者之间有什么性能差异吗 A提供了固定的时间(用简单的英语:快速)查找。假设设置和保持最新不需要太多工作,它应该比更动态的查找更快 然而,我确实想知道这是否是一个使用.GetComponent()进行OnTiggerEnter的 我建议保存优化,如Dictionar

我想在触发输入时访问游戏对象的组件。我可以使用
GetComponent()
,或者我可以在
Awake()
中创建游戏对象与字典中CustomClass的连接,这样我就可以访问CustomClass,如下所示:
字典[gameobject]

两者之间有什么性能差异吗

A提供了固定的时间(用简单的英语:快速)查找。假设设置和保持最新不需要太多工作,它应该比更动态的查找更快

然而,我确实想知道这是否是一个使用
.GetComponent()
进行OnTiggerEnter的


我建议保存优化,如
Dictionary[Component]
,用于更多重复性任务,如更新场景中的每个AI脚本或增加每个刚体的质量

这听起来像是过早优化的例子。你为什么在乎什么更快?你应该只关心什么适合你现在的需要。一旦发现瓶颈,就应该对代码进行分析,最后对@user2674389进行优化。你应该对代码使用
代码块,而不是对与代码无关的项目使用
强调
。如果你想强调一个单词,请使用斜体。@Servy谢谢,我尽量记住它。:-)我同意这是过早的优化,但为什么这个问题已经解决了呢?关于“什么更快”的问题绝对不是“基于意见”,你可以进行实验并确定结果。@golergka该标志可能不正确,但该问题仍应关闭/保留。OP在测试性能方面与我们其他人一样有能力。如果不是,那完全是另一个问题。