引擎:Unity5.5.1
IDE:VS2015
最近公司招人,自己整理了一套试题,题里设了几个坑。因为是招初级程序,关于ArrayList和List的区别的这道题,基本都翻了。
原因很简单,这道题在所有网上能找到的Unity程序面试题中都有,但是很不幸,答案是错误的。
首先,我们从数组说起,数组是一种高效的但是不太方便的数据存储方式,之所以不方便,是因为固定长度无法修改。
于是为了充分利用内存,就有了动态数组的概念。
C#中动态数组的实现就是集合接口IList。ArrayList和List都继承了接口IList(不知道是哪位“高人”让网上流传着 List是接口 的概念...)
再来讲一下ArrayList,据了解,有些人喜欢用ArrayList是因为对存储对象的类型没有要求,用起来方便。这时我就想问一句:你在取数据的时候也很方便吗???
如下图: