我对编程很新,我需要一些优化方面的帮助.基本上我的方法的一部分做:
for(int i = 0; i < Tiles.Length; i++) { x = Tiles[i].WorldPosition.x; y = Tiles[i].WorldPosition.y; z = Tiles[i].WorldPosition.z; Tile topsearch = Array.Find(Tiles, search => search.WorldPosition == Tiles[i].WorldPosition + new Vector3Int(0,1,0)); if(topsearch.isEmpty) { // DoMyThing } }
所以我正在寻找一个比当前Tile高1个单位的瓷砖.我的问题是,对于整个方法,它需要0.1秒,这导致一个小的hick up .. Array.Find
没有方法是0.01秒.
我也尝试了一个for循环,但仍然不是很好的结果,因为我还需要3个底部,左侧和右侧的检查.
有人可以帮助我,并指出我获得一些快速结果的方法吗?也许我应该选择像线程一样的东西?