【发布时间】:2013-06-10 05:18:12
【问题描述】:
我有 2 个相同类型的对象实例。 (准确地说,这是 Unity3D 的 AudioSource)我需要对两者都应用一些操作,如初始化、销毁等,所以我认为将它们存储在数组中是一个好主意,这样我就可以迭代了。
AudioSource[] audioSources = new AudioSource[2];
有了这个,我可以在数组上foreach 并且只编写一次初始化代码和其他常见任务。
但这两个实例有不同的用途,例如,第一个是用于 BGM 的 AudioSource,第二个是用于 SFX。这样代码将更具可读性,我仍然可以使用数组遍历两个实例。
所以我认为我应该为每个实例指定一个备用名称,例如 bgmSource 和 sfxSource。请问这样的做法正确吗?
AudioSource bgmSource = audioSources[0];
AudioSource sfxSource = audioSources[1];
【问题讨论】:
-
这没有错。但是,如果您不打算拥有更多它们,您也可以省去数组,而只需制作/调用子例程,如
Initialize(AudioSource src)。我认为两个函数调用至少与数组上的 foreach 一样干净,它消除了对每个对象有多个引用的复杂性。
标签: c# arrays unity3d instance