U3d:使用for循环+lamba表达式进行赋值操作
//正确写法,添加了局部变量在表达式之外进行临时存储变量索引
for (int i = 0; i < btn.Length; i++) { int temp = i; btn[i].onClick.AddListener(()=> { print(btn[temp]); }); }
//错误写法,编号会错误 输出的i会超出索引
for (int i = 0; i < btn.Length; i++)
{
// int temp = i;
btn[i].onClick.AddListener(()=>
{
print(btn[i]);
});
}