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]);
            });
        }







 

posted @ 2021-01-11 16:35  怪力~乱神  阅读(143)  评论(0编辑  收藏  举报