这个实现层面上的东西只能以实测为准。尤其是Unity这种纯粹把C#当脚本语言来用的场景和用C#开发的项目完全不是一回事儿。
另外,尽量使用for来代替foreach肯定是错的,因为有些容器说不定按照索引来访问要比枚举慢得多。当然话说回来,这些容器本来就不应当提供按照索引检索的接口。
顺便说一下,你贴的第二个链接说的显然是错的,那两个循环根本不等价,因为foreach是要把值取出来的,而for循环里面根本就没有取值,,,还因为是ArrayList导致平白无故多了一堆拆箱的操作。
当然这和GC也没啥关系,只是说这种光靠拍脑袋不了解原理的测试毫无意义。