Unity游戏开发中闭包的实际应用

写c#UI脚本的时候,会想到循环对多个按钮进行初始化,初始化监听的时候会添加委托事件,委托里会传递一个不同的参数,与i相关,此时形成一个闭包。
Unity游戏开发中闭包的实际应用
这是正确的写法,点击不同的btn的时候打印出来的i是不一样的,因为不同的btn的函数外包不一样。
Unity游戏开发中闭包的实际应用
但是如果少了外层一层函数的封包,所有的btn使用的都是start函数这个包那i值自然都是一样的是5了。